我很好奇:我知道Django中有两种csrf保护方式:模板中的{% csrf_token %}
和视图中的@csrf_protect
。
所以,问题是:它们可以互换吗?我的意思是我只能使用@csrf_protect
我的模板中没有{% csrf_token %}
标记的观点,效果会相同吗?
我问这个因为我在最近的Django项目中使用mako并且没有{% csrf_token %}
这样的标签......
感谢!!!
答案 0 :(得分:2)
你需要两者。 {% csrf_token %}
添加POST
次请求中包含的隐藏字段。虽然@csrf_protect
添加了{% csrf_token %}
使用的上下文变量。