这个问题的答案取决于项目的规模和团队的指导方针。
避免使用
urlpatterns
。虽然技术上可行,但不建议这样做。错误页面不应该通过URL直接访问,因为这违背了它们的预期目的。当发生错误时,Django应该自动处理它们。
现在归结为两个选择:
templates/404.html
或
handler404 = "mysite.views.my_custom_page_not_found_view"
-
使用
模板/404.html
:Django会自动查找
404.html
模板目录中的模板,并为相应的错误提供模板。这有两个主要原因:
-
Django将处理错误页面的路由、错误处理和呈现:
无需额外代码
(更少的代码=更好的代码)。
-
无需修改
URLConf
:
简单
.
-
使用
handler404
:在您的系统中定义用于错误处理的自定义视图
urls.py
。这允许您根据用户或请求详细信息动态控制和自定义响应,以及添加自定义逻辑(例如,记录错误、分析或个性化消息)。
如您所见,您的选择取决于您对需求的理解:
简单VS控制
.
最后,这是您和您的团队应该达成一致并标准化的事情,以保持整个项目的一致性。