我正在努力寻找一种方法来禁用我试图实现的登录视图的CSRF。使用Django 1.7的最佳方法是什么?我正在开发一个连接到/ login url并发送用户名和密码的Android应用程序,我已经为下面的视图提供了代码。我试图在视图和url(在urls.py中)使用@csrf_exempt,但它不起作用。我得到的错误是“CSRF验证失败。请求中止”。
我也尝试删除中间件(django.middleware.csrf.CsrfViewMiddleware),但它也不起作用。
这是登录视图的代码:
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def login(request):
fb_user_id = request.POST.get('username','')
name = request.POST.get('name','')
request.session['fb_user_id'] = fb_user_id
create_user(fb_user_id, name)
res = {}
res["success"] = "yes"
return HttpResponse(json.dumps(res))
此外,这是urls.py中的网址:
url(r"^login/$", csrf_exempt(views.login), name='login'),
这是我得到的回应: