Django:CSRF令牌丢失或不正确。 /避免{%csrf

我正在关注Django指南,让我看看。 但我有一个问题:

如果我只是复制他的代码我创建一个

禁止(403)CSRF验证失败。 请求中止。

我已经通过向所有“我的”返回render_to_response添加context_instance = RequestContext(request)并向我调用的窗体添加{%csrf_token%}来解决该问题。

问题来了:我能以任何方式将它设置为“在sceenes后面”或我必须将其添加到所有表单中!


是的,您可以使用render(request, template, context)而不是render_to_responserender快捷方式自动使用RequestContext。


CSRF是一个重要的安全概念AFAIK。

您必须将csrf_token [将设置一个隐藏的帖子参数]设置为使用发布,放入或删除请求的所有表单,或者也可以使用X-CSRFToken标头。 您可以使用render快捷键而不是render_to_response来默认包含RequestContext 。 看到:

https://docs.djangoproject.com/en/dev/ref/contrib/csrf/

有一种方法可以通过删除middleware或使用decorator来完全避免CSRF检查。 但我会建议不要这样。

链接地址: http://www.djcxy.com/p/56521.html

上一篇: Django: CSRF token missing or incorrect. / avoid {% csrf

下一篇: Django: POST form requires CSRF? GET doesn't?