giv*_*ivp 10 django django-templates
我有一个500.html模板,只要我的应用程序爆炸就会加载,但我想知道是否有任何方法可以在模板中输出异常消息?
所以,如果我这样做:
raise Exception("You broke it!")
Run Code Online (Sandbox Code Playgroud)
当DEBUG标志设置为True时,这将加载500.html但是如何在模板中访问异常消息?就像是:
{{ exception.message }}
Run Code Online (Sandbox Code Playgroud)
非常感谢.
G
Tim*_*ony 18
看看这个答案:
如何在我的Django 500.html页面中包含堆栈跟踪?
将异常传递给您的模板/用户并不好,因为它可能会显示您不希望外部可用的一些内部工作,但如果您确实需要,您可以编写自己的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,
})))
Run Code Online (Sandbox Code Playgroud)
在urls.py的某个地方
handler500 = 'mysite.views.my_custom_error_view'
Run Code Online (Sandbox Code Playgroud)
模板
{{ exception_value }}
Run Code Online (Sandbox Code Playgroud)
更多关于它的信息:https://docs.djangoproject.com/en/1.6/topics/http/views/#the-500-server-error-view
| 归档时间: |
|
| 查看次数: |
8316 次 |
| 最近记录: |