Django version 1.10.7
我得到TypeError: authenticate() takes exactly 0 arguments (3 given)
类似地导入身份验证():
from django.contrib.auth import authenticate, login
这样调用Authenticate()这样:
authenticate(request, username=request.POST['username'] ,password=request.POST['password'])
1.10 authenticate
中不采用位置参数(doc)称其为
authenticate(username=request.POST['username'], password=request.POST['password'])
将身份验证设置为变量,不要通过请求,例如:
auth = authenticate(username=request.POST['username'] ,password=request.POST['password'])
然后使用登录以获取用户登录:
login(request, auth)
不要忘记导入登录
在没有请求的情况下使用身份验证,仅获取用户名和密码authenticate(username=XXX,password=XXX)
。请参阅https://docs.djangoproject.com/en/1.11/_modules/django/contrib/auth/#authenticate