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

问题描述:

我正准备部署我的第一个Django应用程序,并且遇到了一些障碍。我的基础模板依赖于我传递会话对象,以便它可以读出当前登录的用户名。当我控制调用模板的代码时,这不是问题。为自定义Django 404页面执行代码

但是,作为准备部署此应用程序的一部分,我需要创建一个404.html页面。我扩展了我的基本模板,就像我对其他页面所做的一样,但我没有看到传入会话对象的方式,以便我可以使用它。有没有办法让Django调用一个自定义的方法来呈现你的404,而不是只为你呈现你的404.html?

您需要覆盖404错误的默认视图处理程序。下面是关于如何创建自己的定制404浏览功能的文档:

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

+7

给其他人一个提示:您需要在项目根目录的urls.py中定义`handler404`,而不是在其中一个应用中。 – 2009-07-22 20:21:49

定义你自己的404处理器。见Django URLs,具体是关于handler404的部分。