【发布时间】:2011-07-06 08:10:44
【问题描述】:
每当管理员将新用户添加到管理站点时,我想向用户电子邮件地址发送一封包含登录详细信息的电子邮件。
我知道 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)
但它没有在命令行上打印任何内容。我认为每当我创建新用户时都不会调用该函数。不知道为什么?
【问题讨论】:
-
昨天刚问过这个问题stackoverflow.com/q/6583212/115845
标签: django django-admin