1.第一步:当静态页面加载的时候,让他去向服务器请求,服务器发送过来一个csrftoken的值,保存到浏览器的cookie里面。
设置csrftoken的视图函数:
视图函数先导入:from django.middleware.csrf import get_token
函数:
def token(request): token = get_token(request=request) data = { "token":token, } return JsonResponse(data)
2。在前途js里面,写:
$.get('/csrf_token/token', function (resp) { csrftoken = resp.token; // 接受上边视图函数返回的token,保存到全局变量中 document.cookie = 'csrftoken=' + resp.token; // token设置到cookie中 });
3.当需要通过csrf验证的时候:需要加装饰器:
from django.views.decorators.csrf import csrf_protect,ensure_csrf_cookie,csrf_exempt
@csrf_exempt def register(request):