为自定义Django 404页面执行代码

6 投票
2 回答
13582 浏览
提问于 2025-04-15 13:05

我正在准备发布我的第一个Django应用程序,但遇到了一些问题。我的基础模板需要我传递一个会话对象,这样它才能读取当前登录用户的名字。当我控制调用模板的代码时,这没什么问题。

但是,为了让这个应用程序准备好发布,我需要创建一个404.html页面。我像处理其他页面一样扩展了我的基础模板,但我找不到传递会话对象的方法,这样我就无法使用它。有没有办法让Django调用一个自定义的方法来渲染你的404页面,而不是直接为你渲染404.html?

2 个回答

4

定义你自己的404错误处理程序。可以参考Django的URL文档,特别是关于handler404的部分。

13

你需要替换掉默认的404错误页面处理方式。这里有一份说明,教你如何创建自己的自定义404页面函数:

http://docs.djangoproject.com/en/dev/topics/http/views/#customizing-error-views

撰写回答