django类基于视图自定义404和500

时间:2013-10-02 18:12:16

标签: django django-templates django-views

我正在尝试学习django,并且我有一个小型的测试服务器(不是devel)就此而言我正在尝试托管一个小型博客站点(类似于官方教程)。

我想要自定义404和500个观看次数,因此,我在urls.py中有以下内容:

from mystuff.views import Template404View, Template500View
handler404 = Template404View.as_view()
handler500 = Template500View.as_view()

在我的views.py中,我有以下内容:

class Template404View(TemplateView):
    template_name = "404.html"

class Template500View(TemplateView):
    template_name = "500.html"

其中404.html500.html出现在我的site_templates目录中。

但是,当我在测试服务器上托管此内容时,我看到的只有Internal Server Error而不是400或500个自定义页面。

我试图在SO上查找类似的问题,我看到following,但这似乎没有帮助......

任何建议都将不胜感激......谢谢。

2 个答案:

答案 0 :(得分:1)

我今天遇到了类似的问题:问题是我的500页中有德语变形金刚,而在渲染500页的时候,我的apache出现了内部服务器错误,因此引发了apache 200错误。因此,请检查您的500页并单独测试,并在调用时查看它是否正确显示。

但是,既然您正在学习本教程:为什么不采用Chapter 3中描述的方法?只需编写您的500.html文件并将其放入my_app / templates中即可。这很好用,不需要额外的视图或网址。

答案 1 :(得分:0)

在views.py中定义自定义视图时,您将从mystuff导入自定义视图。尝试从我的stuff.views导入它们。

同样设置DEBUG = True可以给你一些线索