Когда я отправляю форму в django (или обращаюсь к администратору), адрес меняется в строке URL на IP-адрес - PullRequest
0 голосов
/ 25 декабря 2010

У меня есть следующие настройки.

На моем DNS: запись имени, которая указывает мой домен на IP-адрес

На моем сервере: nginx -> gunicorn -> django

Но когда я отправляю форму (например, форму для входа), адрес в строке URL меняется с моего доменного имени на мой IP-адрес.Это вызывает междоменную ошибку.

Это происходит в формах, и когда я получаю доступ к mydomain / admin

, когда я получаю доступ к страницам, мое доменное имя в строке URL остается неизменным.Когда я захожу в mydomain / admin, он автоматически переключается на IP без отправки любых других форм.В любое другое время я должен отправить форму для изменения IP-адреса.

Все мои медиа и все используют мой домен в пути.Это самая странная вещь.Я впервые заметил это, когда зашел на свою страницу администратора, но не особо задумывался об этом.Но я только добавил несколько форм, и теперь я не могу отправить формы, потому что формы пытаются отправить на IP-адрес, вызывая междоменную ошибку.

Я должен добавить, что формы автоматически генерируются при регистрации django.

Ответы [ 3 ]

0 голосов
/ 26 декабря 2010

Это должно означать, что ваши формы настроены для отправки на IP-адрес. Посмотрите на источник вашей формы и найдите тег формы:

<form action="http://(ip here?)/form/" method="GET">

Убедитесь, что IP-адрес там не указан. Вы можете использовать относительный URL. Обычно я оставляю это поле пустым, так как большинство моих форм обрабатываются в том же представлении, которое с самого начала создавало форму.

0 голосов
/ 26 декабря 2010

Я предполагаю, что в какой-то момент вы разрабатывали локально, а этого не произошло, поэтому я рекомендую, чтобы это было в вашей конфигурации Nginx. Можете ли вы использовать Firebug / Web Inspector, чтобы узнать, не происходит ли перенаправление с вашего домена на ваш IP?

Я бы также проверил, правильно ли настроен URL вашего сайта в админке. Иногда это может привести к неправильным URL-адресам, хотя я не думаю, что упомянутые вами случаи применимы.

0 голосов
/ 25 декабря 2010

Найдите ваш IP в файле settings.py.Это может быть параметр типа MEDIA_URL, настроенный на использование вашего IP, а не домена.

...