自定义模板中的Django 500消息

问题描述

| 我有一个500.html模板,每当我的应用程序爆炸时就会加载该模板,但我想知道是否可以通过任何方式在模板中输出异常消息? 因此,如果我这样做:
raise Exception(\"You broke it!\")
当DEBUG标志设置为True时,这将加载500.html,但是如何访问模板中的异常消息?就像是:
{{ exception.message }}
非常感谢。 G     

解决方法

        看看这个答案: 如何在Django 500.html页面中包含stacktrace? 将该异常传递给模板/用户不是很好,因为它可能会显示一些您不希望外部使用的内部工作原理,但是如果确实需要,则可以编写自己的500视图,异常并将其传递到您的500模板 views.py
def custom_500(request):
    t = loader.get_template(\'500.html\')
    type,value,tb = sys.exc_info(),return HttpResponseServerError(t.render(Context({
    \'exception_value\': value,})))
urls.py中的某处
handler500 = \'mysite.views.my_custom_error_view\'
模板
{{ exception_value }}
有关此的更多信息,请访问:https://docs.djangoproject.com/en/1.6/topics/http/views/#the-500-server-error-view     ,        我知道这是一个旧线程,但我只想澄清一下: 如果您想要一个custon视图,答案是正确的!默认视图将从项目的主模板目录中加载500.html(以及404.html等)。 因此,如果您只需要更改静态页面内容,例如在错误页面中插入一些图像,那么您要做的就是在此位置创建模板文件。