Вызывать письмо администратору, когда новый пользователь регистрируется в приложении Django - PullRequest
0 голосов
/ 20 сентября 2019

Я хотел бы вызвать простое текстовое электронное письмо администраторам, когда новый пользователь регистрируется в моем приложении Django.Какой самый чистый способ сделать это?

1 Ответ

1 голос
/ 20 сентября 2019

Для этого вы можете использовать сигнал сохранения записи .Например:

# <app>/signals.py:

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

from django.core.mail import send_mail

@receiver(post_save, sender=User)
def send_email_to_admin(sender, instance, created, **kwargs):
    if created:
        send_mail(
            '<Subject>User {} has been created'.format(instance.username),
            '<Body>A new user has been created',
            'from@example.com',
            ['admin@example.com'],
            fail_silently=False,
        )


# <app>/apps.py
from django.apps import AppConfig


class YourAppConfig(AppConfig):
   name = 'app_name'
   verbose_name = _('app_name')

   def ready(self):
     import .signals  # noqa

Здесь я использую django's mail sending functionality, например, если вы используете это, пожалуйста, убедитесь, что вы правильно настроили параметры.

...