【发布时间】:2021-11-03 11:00:38
【问题描述】:
我确实找到了一些关于 Django 的 404 重定向的答案,但大多数都指的是旧版本的 Django。
这是我在 Django 3.2.6 中所拥有的 DEBUG 设置为 False 以触发 404 行为
urls.py
handler404 = views.view_404
views.py
def view_404(request, exception=None):
return HttpResponseRedirect("/")
runserver 中没有错误,但 404 页面仍然返回“未找到”
在此服务器上找不到请求的资源。”。
【问题讨论】:
-
如doc
If you implement a custom view, be sure it accepts request and exception arguments and returns an HttpResponseNotFound.中提到的 -
@Prakhar 我应该在哪里添加这个?我很困惑,因为文档并没有真正讨论我的案例(重定向到主页)。这很有趣,因为我认为很多用户会喜欢这种行为 :)
-
这段代码
handler404 = views.view_404必须在站点urls.py文件中,而不是在应用程序urls.py中。 -
@May.D 啊,太好了,随时写一个快速回复。现在一切正常:)