信号在每次用户登录时触发,而不是 post_save
signals fire up at every user login instead of post_save
我有一个小信号连接到用户模型的post_save。我希望它只在用户创建时发送电子邮件,而不是像在这种形式中那样在登录时发送。
我已尝试使用 if created: 但登录时仍会发送电子邮件。
从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 = 'test@test.com'
emailTo = [settings.EMAIL_HOST_USER]
send_mail(subject, message, emailFrom, emailTo, fail_silently=True)
post_save.connect(save_profile, sender=Order)
仅在创建时触发它。
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 = 'test@test.com'
emailTo = [settings.EMAIL_HOST_USER]
send_mail(subject, message, emailFrom, emailTo, fail_silently=True)
它似乎连接到 Order
而不是用户:
post_save.connect(save_profile, sender=User)
我有一个小信号连接到用户模型的post_save。我希望它只在用户创建时发送电子邮件,而不是像在这种形式中那样在登录时发送。
我已尝试使用 if created: 但登录时仍会发送电子邮件。
从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 = 'test@test.com'
emailTo = [settings.EMAIL_HOST_USER]
send_mail(subject, message, emailFrom, emailTo, fail_silently=True)
post_save.connect(save_profile, sender=Order)
仅在创建时触发它。
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 = 'test@test.com'
emailTo = [settings.EMAIL_HOST_USER]
send_mail(subject, message, emailFrom, emailTo, fail_silently=True)
它似乎连接到 Order
而不是用户:
post_save.connect(save_profile, sender=User)