每当管理员在管理站点上添加新用户时,我希望能够向用户的电子邮件地址发送带有登录详细信息的电子邮件。
我知道Django提供了send_mail模块,但是我不知道应该将此代码放在哪里,并覆盖某些视图以在添加新用户时自动发送电子邮件。
from django.core.mail import send_mail
send_mail('Subject here', 'Here is the message.', 'from@example.com',
['to@example.com'], fail_silently=False)
我该怎么做呢?
我尝试将以下代码放入我的models.py文件:
from django.db.models.signals import post_save
from django.contrib.auth.models import User
def email_new_user(sender, **kwargs):
if kwargs["created"]: # only for new users
new_user = kwargs["instance"]
print new_user.email
#send_mail('Subject here', 'Here is the message.', 'from@example.com',['to@example.com'], fail_silently=False)
post_save.connect(email_new_user, sender=User)
但是在命令行上没有任何输出。我认为每当我创建一个新用户时该函数不会被调用,不知道为什么?