# signals.py
# -*- coding: utf-8 -*-
from django.db.models.signals import post_save
from django.dispatch import receiver
from django.core.mail import send_mail
from django.contrib.auth import get_user_model
from django.conf import settings
User = get_user_model()
@receiver(post_save, sender=User)
def send_notification(sender, instance, created, **kwargs):
if created:
# здесь можно провести дополнительную фильтрацию, например if instance.is_admin и т.п.
send_mail(subject, body, settings.DEFAULT_FROM_EMAIL, instance.email)
DEFAULT_FROM_EMAIL
и настройки для отправки почты. User
: REQUIRED_FIELDS
и USERNAME_FIELD
не могут содержать одинаковых полей. Должно быть:USERNAME_FIELD = 'username'
REQUIRED_FIELDS = ['email']
AUTH_USER_MODULE = 'news.User'
вместо AUTH_PROFILE_MODULE = 'news.User'
.AbstractBaseUser
есть is_superuser
, возможно is_admin
лишнее в вашем случае?if not email: raise ValueError('Users must have an email address')
в UserManager
не нужна.