代码之家  ›  专栏  ›  技术社区  ›  Dmitrii

使用GET请求对用户进行身份验证和登录

  •  0
  • Dmitrii  · 技术社区  · 7 年前

    我有一个任务,用指定的登录名和密码作为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")
    

    它必须工作,因为它似乎符合文档,除了请求方法。在文档中,这是一个帖子,但我必须坚持到底。

    所以现在还没有认证:

    Is authenticated False
    Is authenticated False
    

    我敢肯定是因为方法类型错误。你对如何解决这个问题有什么建议吗?

    2 回复  |  直到 7 年前
        1
  •  0
  •   Somesh Thakur    7 年前

     print('Is authenticated', request.user.is_authenticated)
    

    打印这个

    print('Is authenticated', user.is_authenticated)
    
        2
  •  0
  •   Dmitrii    7 年前

    from django.contrib.auth.views import login

    而不是

    from django.contrib.auth import login