使用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 }}即可捕获异常信息