Django中的CSRF认证
直接在form表单中加csef_token标签
<form action="" method="post">
{% csrf_token %} {# 注意必须写在form的里面 #} </form>
装饰器的方法
先导入Django中的模块
from django.views.decorators.csrf import csrf_exempt,csrf_protect
在对应的视图函数加上装饰器即可,比如想取消跨站请求伪造保护:
#取消当前函数防跨站请求伪造功能 # @csrf_exempt def index(request): #GET展示所有数据 if request.method == 'POST': book_lst = Book.objects.all().order_by('title') xxx xxx return xxx
但是,需要特别注意一点:注意csrf-token装饰器的特殊性,在CBV模式下它只能加在dispatch上面!
Ajax中post方式提交数据时通过CSRF
在这篇博客里面:https://www.cnblogs.com/paulwhw/articles/10946246.html#_label12
CSRF官方文档
详细的见Django官方文档中CSRF内容:https://docs.djangoproject.com/en/1.11/ref/csrf/