Ответы пользователя по тегу Django
  • Как отправлять письма данными на почту с админки?

    rzhannoy
    @rzhannoy
    Делайте через сигналы: https://docs.djangoproject.com/en/1.6/topics/signals/

    Например:

    # 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)


    В settings прописываете DEFAULT_FROM_EMAIL и настройки для отправки почты.
    Ответ написан
    Комментировать
  • Как исправить ошибку при расширении модели User?

    rzhannoy
    @rzhannoy
    У вас ошибка в определении модели User: REQUIRED_FIELDS и USERNAME_FIELD не могут содержать одинаковых полей. Должно быть:

    USERNAME_FIELD = 'username'
    REQUIRED_FIELDS = ['email']


    PermissionsMixin не подмешали сознательно? Если нет, добавьте.

    В settings: 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 не нужна.
    Ответ написан