社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

Django Axes ModelBackend需要“请求”进行身份验证

Alex • 5 年前 • 1941 次点击  

在我的应用程序中,我有一个使用django自定义用户的自定义用户模型,我也使用allauth。django axes在admin和allauth上注册每个登录尝试,但我在用户登录时遇到问题。

登录视图:

def user_login(request):
    data = dict()

    if request.user.is_authenticated:
        return redirect('frontend:dashboard')

    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            email = form.cleaned_data['email']
            password = form.cleaned_data['password']
            if user is not None:
                user = authenticate(email=email, password=password)
                if user.is_active:
                    login(request, user)
                    user_logged_in.send(sender=CustomUser, request=request, user=user)
                    return redirect('frontend:dashboard')
                else:
                    messages.error(request, _('Incorrect email or password.'))
                    user_login_failed.send(sender=CustomUser, request=request, credentials={'username': form.cleaned_data.get('email')})
            else:
                messages.error(request, _('Incorrect email or password.'))
                user_login_failed.send(sender=CustomUser, request=request, credentials={'username': form.cleaned_data.get('email')})
            return redirect('auth:login')
    else:
        form = LoginForm()
    data['form'] = form
    return render(request, os.path.join(settings.AUTH_TEMPLATE, 'login.html'), data)

当我尝试登录时,出现以下错误:

axes.backends.AxesModelBackend.RequestParameterRequired: DjangoAxesModelBackend requires calls to authenticate to pass `request`

django axes文档有点混乱,我不明白在解决这个问题时必须做什么。

我不得不说这个错误只有在我加上 axes.backends.AxesModelBackend AUTHENTICATION_BACKENDS 这是强制性的。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/40488
 
1941 次点击  
文章 [ 1 ]  |  最新文章 5 年前