Django 1.9 中 DEBUG 为 False 时不添加斜杠
问题:Django 1.9 中 DEBUG 为 False 时不添加斜杠 我有一个 Django 1.9 应用程序,当DEBUG是true时。如果不存在,应用程序将重定向到带有斜杠的 url。但是当DEBUG是False时,我收到 404 错误。我尝试添加设置APPEND_SLASH = True,但没有任何改变。我的设置是 nginx + gunicorn + Django 1.9。 任何见解都
·
问题:Django 1.9 中 DEBUG 为 False 时不添加斜杠
我有一个 Django 1.9 应用程序,当DEBUG
是true
时。如果不存在,应用程序将重定向到带有斜杠的 url。但是当DEBUG
是False
时,我收到 404 错误。我尝试添加设置APPEND_SLASH = True
,但没有任何改变。我的设置是 nginx + gunicorn + Django 1.9。
任何见解都值得赞赏。谢谢你。
解答
斜杠附加已移至 Django 1.9 中的响应处理程序,并且仅在response.status_code
为 404 时应用:https://github.com/django/django/blob/1.9.3/django/middleware/common.py#L113
我遇到了同样的问题,在我的情况下,这是由我的自定义 404 视图实际返回 HTTP 200 引起的。确保您的 404 视图创建带有 404 状态_code 的响应。
DEBUG = True
不会发生此行为的原因是在DEBUG
模式下不使用自定义 404。
更多推荐
已为社区贡献15557条内容
所有评论(0)