首页 > django404模板如何获取错误信息

django404模板如何获取错误信息

使用
raise Http404('错误内容')
,但是在模板里面如何获取传递过来的错误内容呢


我不知道你要获取错误内容做什么?不知道有没有别的解决方案。给你几个解决思路

第一种

按照你的传递方式,错误内容肯定是在Http404函数里面处理。你如果想用Http404('错误内容')这种方法来处理的话,解决思路:因为django中可以改写404view,所以你可以先定制你的error view
然后你的定制的my_custom_page_not_found_view肯定接受到来自Django封装的request请求,所以改写Django中的response.py和exception.py这两个文件,把你想要传达的错误内容封装进去。这样你就可以在你的my_custom_page_not_found_view函数中的request里找到相应的值。

第二种

你可以通过定制Django的signals来实现,在raise Http404()之前。在你的my_custom_page_not_found_view接受signal,获取相关错误信息,然后context就好。

第三种

先定制你的404 view,比如my_custom_page_not_found_view
你可以把要保存的信息存到cache里,通过user_id来标识。比如'{user_id}_exception'.format(user_id=user_id),然后在my_custom_page_not_found_view中获取,获取到值后显示就不用说了。

第四种

在raiseHttp404()之前保存到用户的session中,然后在my_custom_page_not_found_view中取出改值,这个方案其实我认为是最好的。

希望能给你一些启发。


已解决,使用{{ exception }}即可捕获异常信息

【热门文章】
【热门文章】