繁体   English   中英

Django信号和用户身份验证

[英]Django signals and User Auth

我现在正在关注Hacked Existence的Django教程。 我无法理解所涉及的Django信号

    def create_User_callback(sender, instance, **kwargs):                   
        a, b = User.objects.get_or_create(user = instance)

    post_save.connect(create_User_callback, User)

我不太确定背后的逻辑

     post_save.connect(create_User_callback, User)

为了使信号处理程序工作,您需要将其绑定到信号。 这是使用信号的connect方法完成的。 在您的情况下,信号是post_save

使用方法的名称和将为其调用方法的模型调用connect 所有模型都会发出post_save ,因此当您将User添加为connect的第二个参数时,它会“过滤”信号,因此只有User模型发出的post_save信号才会触发您的方法。

可以把它想象成调谐收音机来收听频率。

说了这么多,这个实际的代码似乎有点无意义。 您正在创建发出信号的同一个类的对象(或者如果它存在则获取一个对象); 保存任何对象后。

暂无
暂无

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

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