【发布时间】:2012-11-13 03:36:17
【问题描述】:
如果project_name/urls.py 中没有正确的条目,我想显示 404 错误。
我阅读了Writing your first Django app,但我不明白如何创建一般错误 - 不仅适用于应用程序。
所以我尝试了这个:
TEMPLATE_DIRS = /var/www/first/templates- 回显“404 错误”> /var/www/first/templates/404.html
-
在
/var/www/first/urls.py:from django.http import Http404 try: ... url(r'^admin/', include(admin.site.urls)), ... except: raise Http404
毕竟,如果我调用未知的 url,我仍然会收到 500 错误。
【问题讨论】:
-
默认的 django 行为是为未知 url 显示 404。如果你有
DEBUG = True,它会显示一个调试视图,但它仍然表明你正在查看一个 404 页面。您不需要在您的网址中提出Http404,它是在框架级别处理的 -
你的 url 中有 handler404 和相关的视图吗?
https://docs.djangoproject.com/en/dev/topics/http/views/#django.http.Http404 -
hm,如果我设置
DEBUG = True´ it shows me an 404. IfDEBUG = False´ 我得到 500(内部错误)。 -
您应该从 urls.py 文件中明确删除
try except语句。可能是500错误的原因。无论如何,Django 应该向您的电子邮件地址(在管理员设置中)报告所有 500 错误,并提供回溯和错误的确切原因。 -
我在
DEBUG = True遇到了同样的问题,请参阅stackoverflow.com/q/7946180/352796
标签: django