我经常在django中使用render_to_response作为我的视图函数。
然而,最近,我一直在尝试使用更多的渲染方法(https://docs.djangoproject.com/en/dev/topics/http/shortcuts/#render),正如我从文档中理解的那样,如果没有提供,则自动包含'context_instance'。
这个可选的context_instance参数如何与crsf_token相关?我是否必须使用类似
之类的内容明确发送模板变量,例如“csrf(request)”template_vars.update(csrf(request))
我问这个是因为我得到了一个莫名其妙的
"Forbidden (403) CSRF verification failed. Request Aborted".
即使我在settings.py和我的模板,表单中启用了csrf中间件,也可以调用{%csrf_token%}模板标签。
答案 0 :(得分:1)
您是否忘记将django.core.context_processors.csrf
添加到TEMPLATE_CONTEXT_PROCESSORS
?