将django CSRF中间件与返回JsonResponse的视图一起使用

The*_*yan 4 api django response csrf request

我想将CSRF中间件与Django中的API视图一起使用。这是我想与CSRF一起使用的演示视图,我很困惑如何在此处集成CSRF。

def login(request):
    try:
        if len(DemoTable.objects.filter(phone=int(request.POST['user'])).filter(password=sha1Engine(request.POST['password'])))==1:
            print(DemoTable.objects.filter(phone=int(request.POST['user'])).filter(password=sha1Engine(request.POST['password'])))
            return JsonResponse({'exit':'0','msg':'Success'})
        return JsonResponse({'exit':'2','msg':'User Invalid'})
    except Exception as e:
        return JsonResponse({'exit':'10','msg':'Unknown Error Occured'})
Run Code Online (Sandbox Code Playgroud)

任何帮助或建议,将不胜感激。谢谢。

小智 5

您可以使用获得令牌 django.middleware.csrf.get_token(request)

然后将其设置在客户端发出的请求的标头中https://docs.djangoproject.com/en/2.0/ref/csrf/#setting-the-token-on-the-ajax-request