我有一个Django应用程序,当出现一些用户错误(即URL不存在或没有权限)时,它会执行messages.add_message
。该消息包含指向/error/<id>
错误说明的链接。如果我想重新使用错误ID和消息,我该怎么办?我在想这样的事情:
errors = {1 : "Error message for error id 1", 2 : "Error message for error id 2"}
我可以在哪里存储这样的字典,以便我可以在所有视图中访问它?
答案 0 :(得分:0)
您应创建一个映射到url
的视图,例如/error/<id>
。然后在视图中包含字典errors = {1 : "Error message for error id 1", 2 : "Error message for error id 2"}
或者在名为error_codes.py
的文件中,并将其导入views.py
。然后,只需解析<id>
中传递的url
,然后使用正确的template
返回error code
。
要确保您的所有请求都可以使用此错误代码字典,请使用write custom Django Middleware。实施process_template_response(self, request, response)
并通过将response.context_data
添加到error_code_dictionary
来更改{{1}}。将确保每个响应都在模板和其他地方呈现的http响应中提供错误字典。