在Django中全局存储错误代码和消息



我有一个Django应用程序,当出现一些用户错误(即URL不存在或没有权限)时,它会执行messages.add_message。该消息包含指向/error/<id>错误解释的链接。如果我想重复使用错误id和消息,我该怎么做?我在想这样的事情:

errors = {1 : "Error message for error id 1", 2 : "Error message for error id 2"}

我可以在哪里存储这样一本词典,以便在我的所有视图中都可以访问它?

您应该创建一个映射到类似/error/<id>url的视图。然后在视图中放入字典errors = {1 : "Error message for error id 1", 2 : "Error message for error id 2"},或者放入名为error_codes.py的文件中,并将其导入到views.py中。然后简单地解析url中传递的<id>,并返回具有正确error codetemplate

为了确保这个错误代码字典在所有请求中都可用,请使用编写自定义Django中间件。实现process_template_response(self, request, response)并通过添加error_code_dictionary来更改response.context_data。将确保每个响应都有在模板和其他地方呈现的http响应中可用的错误字典。

相关内容

最新更新