我有一个Django应用程序,当出现一些用户错误(即URL不存在或没有权限)时,它将执行messages.add_message
。该消息包含指向/error/<id>
的错误说明的链接。如果我想重复使用错误ID和消息,该怎么办?我在想这样的事情:errors = {1 : "Error message for error id 1", 2 : "Error message for error id 2"}
我可以在哪里存储这样的词典,以便可以在所有 View 中访问它?
最佳答案
您应该创建一个映射到类似于url
的/error/<id>
的 View 。然后在 View 中包含字典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
。将确保每个响应在模板和其他位置呈现的HTTP响应中都有可用的错误字典。
关于python - 在Django中全局存储错误代码和消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12071173/