gpt4 book ai didi

python - 如何将 django-tastypie 与 django-axes 一起使用

转载 作者:太空宇宙 更新时间:2023-11-03 14:59:54 25 4
gpt4 key购买 nike

设置:

django==1.8
django-tastypie==0.13
django-axes==2.3

我通过 tastypie 获得了登录资源,如下所示

from django.contrib.auth import login


class LoginResource(Resource):
class Meta:
resource_name = 'login'
allowed_methods = ['post']

def obj_create(self, bundle, **kwargs):
form = AuthForm(data=bundle.data)
if form.is_valid():
request.session.set_expiry(0)
if form.get_user():
login(bundle.request, form.get_user())
raise ImmediateHttpResponse(response=HttpResponse(status=200))
raise ImmediateHttpResponse(response=http.HttpBadRequest(status=400))

我不知道如何在 django-axes 中记录这些登​​录尝试。

最佳答案

接下来是我自己的解决方案:我在 views.py 中编写自定义登录 View

from django.contrib.auth.views import login


def core_login(request, *args, **kwargs):
kwargs["authentication_form"] = AuthForm
return login(request, *args, **kwargs)

在 Tastypie 资源中:

from core.views import core_login

class LoginResource(Resource):
class Meta:
resource_name = 'login'
allowed_methods = ['post']

def obj_create(self, bundle, **kwargs):
bundle.request.POST = bundle.data
if core_login(bundle.request).status_code == 302:
raise ImmediateHttpResponse(response=HttpResponse(status=200))
raise ImmediateHttpResponse(response=http.HttpBadRequest(status=400))

关于python - 如何将 django-tastypie 与 django-axes 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45195900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com