在Django管理员中激活用户时发送电子邮件

我即将创建一个监控注册的网站,只允许某些人注册.毫无疑问,尽管我在注册表上面写了任何文字,但仍会有一些不合适的注册,所以我们要适度.

注册后,将创建一个django.contrib.auth用户和个人资料,并向主持人发送一封电子邮件.主持人将登录Django管理站点,检查他们是否允许注册并标记其帐户处于活动状态.如果他们是一些不法分子试图入内,那么该帐户将被删除.

我将使用recaptcha尝试停止自动尝试.

我想在帐户被激活或删除时发送电子邮件,让帐户持有人知道他们的帐户发生了什么,他们可以登录,或让他们知道我们知道他们在做什么,他们应该别傻了.

我怀疑这与信号有关,但我坦率地不知道这实际上适合的地方,因为我使用的是django.contrib.auth提供的预制模型.

任何提示,线索或代码都是慷慨接受的.

最佳答案

from django.db.models.signals import post_save
from django.contrib.auth.models import User

def send_user_email(sender, instance=None, **kwargs):
    if kwargs['created']:
        #your code here
post_save.connect(send_user_email, sender=User)

这样的事情应该有效. Here是文档.

点赞