简体   繁体   English

Django信号登录和注册

[英]Django signals for login and registration

I need to check information in user and request models while user logging in, so I've wrote this code using django signals: 我需要在用户登录时检查用户模型和请求模型中的信息,因此我已使用django信号编写了以下代码:

from django.contrib.auth.signals import user_logged_in

def on_login(sender, user, request, **kwargs):
    ...

user_logged_in.connect(on_login)

How can I have access to the request while user registering? 用户注册时如何访问请求? I've wrote this code, so I have access to user model, but not to request: 我已经编写了这段代码,因此可以访问用户模型,但无法请求:

from django.db.models.signals import post_save

def on_registration(sender, user, created, **kwargs):
    if created:
        ...

post_save.connect(on_registration, sender=settings.AUTH_USER_MODEL, dispatch_uid="create_user_profile")

Can I do that without using 3-rd party applications? 我可以不使用第三方应用程序来做到这一点吗?

写一个装饰器并应用到您的函数中。然后,您可以在执行视图之前或之后注入您想要的任何代码。您也可以避免使用信号和第三方应用程序。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM