我有一个 Django 应用程序,当出现一些用户错误(即 URL 不存在或没有权限)时,它会执行messages.add_message
. 该消息包含指向错误说明的链接/error/<id>
。如果我想重复使用错误 ID 和消息,我该怎么做?我在想这样的事情:
errors = {1 : "Error message for error id 1", 2 : "Error message for error id 2"}
我可以在哪里存储这样的字典,以便我可以在所有视图中访问它?
我有一个 Django 应用程序,当出现一些用户错误(即 URL 不存在或没有权限)时,它会执行messages.add_message
. 该消息包含指向错误说明的链接/error/<id>
。如果我想重复使用错误 ID 和消息,我该怎么做?我在想这样的事情:
errors = {1 : "Error message for error id 1", 2 : "Error message for error id 2"}
我可以在哪里存储这样的字典,以便我可以在所有视图中访问它?
您应该创建一个映射到url
like的视图/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
正确的 a error code
。
要确保此错误代码字典在您的所有请求中可用,请使用编写自定义Django 中间件。通过将您的添加到其中来实施process_template_response(self, request, response)
和更改。将确保每个响应在模板和其他地方呈现的 http 响应中都有可用的错误字典。response.context_data
error_code_dictionary