在上下文处理器中,我希望能够访问在装饰器中设置的值。所以事件的顺序是:
最终目标是能够仅为某些视图有条件地运行上下文处理器。也许有比使用装饰更好的方法吗?
答案 0 :(得分:2)
您可以让装饰器向请求对象添加属性,然后在上下文处理器中访问该值。
例如,您可以使用以下装饰器:
def add_value(function):
def wrap(request, *args, **kwargs):
request.extra_value = True
return function(request, *args, **kwargs)
return wrap
然后您可以在上下文处理器中访问它:
def extra_value_context_processor(request):
if request.extra_value:
...