Django EmailField и полный адрес электронной почты с именем и фамилией - PullRequest
3 голосов
/ 21 марта 2010

Я хотел бы использовать EmailField в форме. Однако вместо того, чтобы только хранить

support@acme.com

Я хочу хранить

"ACME Support" <support@acme.com>

Причина в том, что когда я отправляю электронное письмо, я хотел бы, чтобы появилось «понятное имя» Можно ли это сделать?

Ответы [ 3 ]

3 голосов
/ 21 марта 2010

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

from django.utils.html import escape
from django.utils.safestring import mark_safe

class MyModel(models.Model):
    email_address = models.EmailField()
    full_name = models.CharField(max_length=30)
    ...

    @property
    def friendly_email(self):
        return mark_safe(u"%s <%s>") % (escape(self.fullname), escape(self.email_address))
1 голос
/ 21 марта 2010

Почему бы не сохранить понятное имя в отдельном CharField? Кроме того, вы можете создать подкласс EmailField и создать собственную проверку. Смотри http://docs.djangoproject.com/en/1.1/howto/custom-model-fields/#howto-custom-model-fields

0 голосов
/ 21 мая 2019

Django EmailField может сохранять отображаемое имя напрямую.Вам не нужно отдельное поле модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...