Django 当我尝试身份验证时,我得到了超过最大递归深度的结果

Django 当我尝试身份验证时,我得到了超过最大递归深度的结果,django,django-authentication,Django,Django Authentication,如果我输入了不正确的用户名或密码,它会捕获它。但当我输入正确的凭证时,它会给我“超过最大递归深度” 您粘贴在这里的函数名为“login”吗?你是在意外事件中递归调用自己吗?是的,函数名是login。我改了。现在可以了。有关于那件事的文件吗?谢谢你的帮助!这与其说是文档问题,不如说是编程的基础。当您按名称调用一个函数,并且您的函数调用自身时,这称为“递归”(请阅读相关的维基百科条目等)。太多的递归会导致类似于您在这里看到的错误,或者类似于“堆栈溢出”或“超出最大堆栈”的错误。你可能还想在谷歌上搜索

如果我输入了不正确的用户名或密码,它会捕获它。但当我输入正确的凭证时,它会给我“超过最大递归深度”

您粘贴在这里的函数名为“login”吗?你是在意外事件中递归调用自己吗?是的,函数名是login。我改了。现在可以了。有关于那件事的文件吗?谢谢你的帮助!这与其说是文档问题,不如说是编程的基础。当您按名称调用一个函数,并且您的函数调用自身时,这称为“递归”(请阅读相关的维基百科条目等)。太多的递归会导致类似于您在这里看到的错误,或者类似于“堆栈溢出”或“超出最大堆栈”的错误。你可能还想在谷歌上搜索一下“堆栈”和“堆”的意思。
    state = "Please log in below"
    if request.POST:
       username = request.POST.get('username')
       password = request.POST.get('password')
       user = authenticate(username=username, password=password)
       if user is not None:
               if user.is_active:
                   login(request, user)
                   state = "You're successfully logged in!"
       else:
            state = "Your account is not active, please log back in."
    else:
        state = "Your username and/or password were incorrect."
return render(request, template_name, {'state': state})