FORCE_SCRIPT_NAME导致网址无法正确解析;我可以在不同的背景下覆盖它吗?

时间:2017-01-29 21:49:15

标签: django django-urls django-1.10

我正在将django应用程序从1.9.10升级到1.10.5,并且发现URL已不再正确解析,因为FORCE_SCRIPT_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,因为有很多东西似乎依赖于此。

提前致谢!

1 个答案:

答案 0 :(得分:0)

简单修复只是在我们的测试环境中覆盖此设置,但在其余设置中保持活动状态。