信号火起来在每一个用户登录,而不是post_save

问题描述 投票:0回答:1

我具有连接到post_save用户模型的一小信号。我想,因为它以这种形式做它仅发送电子邮件的用户创建,而不是在登录。

我试着如果创建的话:但还是发送电子邮件上登录。

从django.db.models.signals进口post_save

def save_profile(sender, instance, created, **kwargs):

        print("Signal patched")
        subject = 'New Order Created %s'%instance
        message = 'Order %s created at %s . Please check if needs further settings!'%(instance, datetime.now())
        emailFrom = '[email protected]'
        emailTo = [settings.EMAIL_HOST_USER]
        send_mail(subject, message, emailFrom, emailTo, fail_silently=True)




post_save.connect(save_profile, sender=Order)
django django-signals
1个回答
1
投票

触发它,只有当它的创建。

def save_profile(sender, instance, created, **kwargs):
    if created:
        print("Signal patched")
        subject = 'New Order Created %s'%instance
        message = 'Order %s created at %s . Please check if needs further settings!'%(instance, datetime.now())
        emailFrom = '[email protected]'
        emailTo = [settings.EMAIL_HOST_USER]
        send_mail(subject, message, emailFrom, emailTo, fail_silently=True)

而且似乎它的连接不Order用户:

post_save.connect(save_profile, sender=User)

© www.soinside.com 2019 - 2024. All rights reserved.