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

Django authenticate为None

  •  0
  • kerberos  · 技术社区  · 7 年前
    def user_login(request):
        if request.method == "POST":
            user_name = request.POST.get("username",'')
            pass_word = request.POST.get("password",'')
            user = authenticate(user_name=user_name,password=pass_word)
            if user is not None:
                login(request,user)
                return render(request,'index.html')
            else:
                return render(request,'login.html',{ })
        elif request.method == "GET":
            return render(request,"login.html",{ })
    

    3 回复  |  直到 7 年前
        1
  •  2
  •   Marcin Kolenda    7 年前

    authenticate 函数采用以下形式的参数: authenticate(username='john', password='secret') .

    用户名->用户名

    在参数中

        2
  •  0
  •   Kalariya_M    7 年前

    from django.contrib.auth import authenticate
    user = authenticate(username='john', password='secret')
    if user is not None:
        # A backend authenticated the credentials
    else:
        # No backend authenticated the credentials
    

    所以我认为你需要改变 用户名 最重要的

        3
  •  0
  •   Amaan Thakur    7 年前
    user = authenticate(username=user_name,password=pass_word)
    

    username=user_name user_name=user_name 作为论点。我认为这可能是问题所在。

    希望这有帮助:-)