我有一个任务,以指定的登录名和密码作为url字符串中的参数,在GET请求中登录用户。我已经做到了:
def login_view(request):
username = request.GET.get('login')
password = request.GET.get('passwd')
print('Is authenticated', request.user.is_authenticated)
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
print('Is authenticated', request.user.is_authenticated)
return redirect('home')
return HttpResponse("Login failed")
,它必须可以正常工作,因为它似乎符合文档(请求方法除外)。在文档中它是POST,但我必须使其成为GET。
所以现在未通过验证:
Is authenticated False
Is authenticated False
,我确定这是由于错误的方法类型引起的。您对如何解决此问题有任何建议吗?
答案 0 :(得分:0)
您尝试打印用户名和密码吗?他们通过正确吗?
代替此
print('Is authenticated', request.user.is_authenticated)
打印此
print('Is authenticated', user.is_authenticated)
答案 1 :(得分:0)
好像我搞砸了进口,我已经进口
from django.contrib.auth.views import login
代替
from django.contrib.auth import login