我跟随Django指南关于Show me do。但我有一个问题:
如果我只是复制他的代码我生成
禁止(403) CSRF验证失败。请求中止。
我已经解决了这个问题 将context_instance = RequestContext(request)添加到所有" my"返回render_to_response 并将{%csrf_token%}添加到我打电话的表格中。
以下是一个问题:我可以通过任何方式将其设置为调用"背后的景象"或者我必须将其添加到我的所有表格中!
Jens
答案 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_response
。 render
快捷方式自动使用RequestContext。