django中间件设置用户特殊的全局变量

clo*_*hou 7 django variables templates middleware response

如果每个网页都有一个用户新消息通知(新消息计数,如消息(1)),我如何将变量'{new_message_count:1}'传递给我想要使用中间件的每个视图:

class page_variable():
def process_request(self, request):
    # put the variable to the request or response so can used in template variable
    return None
Run Code Online (Sandbox Code Playgroud)

和模板看起来像:

<a href="/message/">new <em>({{ new_message_count }})</em></a>
Run Code Online (Sandbox Code Playgroud)

Dan*_*man 5

已经有一个内置的消息传递框架可以为您处理所有这些.

但是,假设您真的想要自己动手,则不能将内容从中间件传递到上下文中.您可以将它附加到request对象上,然后可以在视图或模板中使用该对象,或者添加一个上下文处理器,该处理器从请求中获取变量并将其添加到上下文中.