3

我有一个覆盖进程视图的中间件函数。

我想将一个变量传递给每个视图。在 view_func 的请求、args 或 kwargs 参数中执行此操作的最佳位置是什么?

我试过这个没有运气:

def process_view(self, request, view_func, view_args, view_kwargs):
        view_kwargs['value'] = 'my value'

        response = view_func(request, *view_args, **view_kwargs)


        return response

如何使用中间件将值传递给每个视图?

4

1 回答 1

7

在您的评论栏上,您可能希望使用上下文处理器将您的变量放入模板上下文中。

例如编辑

这是非常微不足道的,但你去:

def my_context_processor(request):
    if request.session['my_variable']:
        return {'foo': 'bar'}

然后添加myapp.mymodule.my_context_processor到 settings.py 中的 TEMPLATE_CONTEXT_PROCESSORS,并确保使用render视图中的快捷方式来呈现模板。

于 2013-08-19T22:14:43.383 回答