我们正在使用Django开发一个包含多个应用程序的项目。它共享数据库,但它有几个应用程序针对不同的非常不同的用户。粗略地说,管理员和最终用户。每个应用程序的UI都非常不同。 我需要创建一个404错误页面,但似乎我只能为所有项目创建一个。我想创建不同的404模板,并能够根据用户要求的应用程序(URL)显示它们...
一般来说,显然无效的网址很容易,但在代码中还有其他方法可以启动例外,例如get_object_or_404
次来电。
任何人都知道这样做的方法吗?
答案 0 :(得分:4)
你完全可以只为整个应用创建一个404页面,这一点都不是真的。 The documentation解释了如何创建特定的404处理程序视图,当然可以查看request.path
的值以查看请求的URL并呈现相关模板。
答案 1 :(得分:4)
Write a 404 view设置handler404
,而不仅仅是模板。在该视图中,尝试从URL中显示您应该显示的404,然后渲染它。