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

时间:2014-05-23 05:21:59

标签: python django

我跟随Django指南关于Show me do。但我有一个问题:

如果我只是复制他的代码我生成

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

我已经解决了这个问题   将context_instance = RequestContext(request)添加到所有" my"返回render_to_response 并将{%csrf_token%}添加到我打电话的表格中。

以下是一个问题:我可以通过任何方式将其设置为调用"背后的景象"或者我必须将其添加到我的所有表格中!

Jens

2 个答案:

答案 0 :(得分:0)

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

您必须将csrf_token [设置隐藏的帖子参数]设置为使用发布,置位或删除请求的所有表单,或者您也可以使用X-CSRFToken标头。默认情况下,您可以使用render快捷方式而不是render_to_response来包含RequestContext。见:

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

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

答案 1 :(得分:0)

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