随机URL返回错误代码500而不是404

时间:2018-04-06 13:35:13

标签: django error-handling http-status-code-404

在我的urls.py文件中,我有以下内容:

def error_404(request): return render(request, 'shop/errors/404.html')
def error_500(request): return render(request, 'shop/errors/500.html')

handler404 = error_404
handler500 = error_500

但是,当我输入随机网址时,例如" mysite.com/lhazeglazd" ;,会返回500错误页面。

因覆盖我的404错误导致500错误的原因是什么?

1 个答案:

答案 0 :(得分:1)

您的日志或管理员错误电子邮件应说明500服务器错误的原因。

请注意,在这种情况下,您不需要自定义404和500处理程序。默认情况下,默认处理程序会查找404.html500.html,因此您只需将模板移动到几个目录中。

如果您必须拥有自定义500处理程序,请注意不建议将请求传递给呈现 - 如果上下文处理器出现问题,则在尝试呈现500模板时将再次出现错误。