2017-01-29 1 views
0

Я сейчас обновляю приложение django с 1,9.10 до 1.10.5 и обнаруживаю, что URL-адрес больше не разрешается правильно, потому что FORCE_SCRIPT_URL установлен и теперь привязан к ** все **.FORCE_SCRIPT_NAME вызывает неправильное разрешение URL-адресов; могу ли я переопределить это в разных контекстах?

Я подозреваю, что это связано с тем, что добавление в django.setup() позволяет разрешать URL-адреса, которые происходят за пределами цикла запроса/ответа (например, в командах управления и автономных скриптах), чтобы принять значение FORCE_SCRIPT_NAME, когда он установлен ». (https://docs.djangoproject.com/en/1.10/ref/applications/#django.setup).

Если я установил FORCE_SCRIPT_URL, сайт будет работать локально в браузере, и я могу войти в систему, перейти к различным приложениям в рамках этого проекта, и все они, похоже, работают нормально по большей части. Тем не менее, все тесты просмотра не с ошибкой 404, потому что URL-адреса не разрешаются правильно, и все мои тесты, связанные с входом в систему, также терпят неудачу (опять же, я думаю, это связано с тем, что URL-адрес не выполняется правильно). Например, ранее, вызов reverse(my_url_name) возвращал /my_path, тогда как теперь он возвращает /subdomain/my_path.

Есть ли какая-нибудь работа вокруг или вещи, которые мне не хватает в этом обновлении, чтобы исправить эту проблему? Я бы предпочел не отменять этот параметр, FORCE_SCRIPT_URL, так как есть много вещей, которые, похоже, зависят от этого.

Заранее благодарен!

ответ

0

Простым решением было просто переопределить этот параметр в нашей тестовой среде, но при этом сохранить его в остальных наших настройках.

Смежные вопросы