Django - 视图中的上下文处理器?

时间:2017-08-26 22:21:54

标签: python django

Django中的上下文处理器通常允许所有模板访问变量。如何在views.py(后端)代码中访问此变量?

以下是我的尝试:

def index(request):
    request_context = RequestContext(request)
    center =  request_context.get("center")

但我得到了#34;没有"对于中心变量。

在上下文处理器代码中:

def center(request):
return {'center': '123'}

我添加了上下文处理器"中心"功能到设置中的上下文处理器列表。

1 个答案:

答案 0 :(得分:0)

使用decorators代替context_processors。这对你来说真的很简单。 在views.py之前使用@csrf_exempt之前要从中获取变量的函数,并在模板中要使用该变量的行的末尾使用{% csrf_token %}
Official documentation on csrf decorators

如果您需要查看示例,请查看this。这里的template / add_comment.html和views.py正在使用装饰器。

注意 : - 您需要在使用之前导入views.py中的csrf_exempt,如下所示: -
from django.views.decorators.csrf import csrf_exempt