gpt4 book ai didi

python - Django 验证 def 不触发logging_in_success和logging_in_fail信号

转载 作者:行者123 更新时间:2023-12-01 00:01:33 24 4
gpt4 key购买 nike

当我通过函数进行身份验证时

从 django.contrib.auth 导入验证

如果我使用该函数,Djnago 不会触发成功/失败信号

从 django.contrib.auth 导入登录

它将按预期触发。基本上我想从以下函数触发信号

user = authenticate(username=username, password=password)

现在我在代码中添加了额外的行

login(request, user)

添加此后,我在这里收到信号

from django.contrib.auth.signals import (
user_logged_in,
user_login_failed,
)

我怎样才能从authenticate def获取信号?我正在将其用于 API

最佳答案

Django 不会从 authenticate 发送 user_logged_in 信号。如您所见,它从 login 发送它 here 。但是,您始终可以自己触发信号。

from django.contrib.auth import authenticate, user_logged_in


user = authenticate(username=username, password=password)
user_logged_in.send(sender=user.__class__, request=request, user=user)

或者编写一个同时执行这两种操作的函数。

关于python - Django 验证 def 不触发logging_in_success和logging_in_fail信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60319368/

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