我已经阅读了几篇关于 Django 中的 csrf 保护的文章,包括Django 的文档,但我仍然对如何正确使用它感到困惑。
最清晰的部分是 HTML 部分,但 Python 部分有点令人困惑。
HTML
{% csrf_token %}
表格内
Python
c = {}
c.update(csrf(request))
在显示和请求信息时,您需要以各种形式使用它,不是吗?
那么,如何将这个 csrf 保护包含在return render()
? 这个对吗?
return render(request,'index.html',{'var':var_value})
或者我应该在Python 文档示例( )中包含c
类似的地方。或者,如果它是正确的,它是否包含在var 中?return render_to_response("a_template.html", c)
request
而且,当不需要使用 csrf 因为我没有任何形式时。这是否是将值返回到模板的正确形式?
return render(request,'index.html',{'var':var_value})