Вы можете определить этот список в вашем проекте settings.py
файл:
VERIFIED_TABLE_EMAILS = ('yahoo.com','gmail.com', )
используя в модели:
from django.conf import settings
class Table(models.Model):
name = models.CharField(max_length=50)
email = models.CharField(max_length=50)
def valid_email(self):
domain = self.email.split('@')[1]
return domain in settings.VERIFIED_TABLE_EMAILS
Таким образом, его легко обновить, и вы можете получить к нему доступ издругие места.
Если эта функция полезна только для модели Table
, это правильное место (вы обращаетесь к полям модели).В противном случае вы можете написать custom filter
, который проверяет любую строку по вашему списку адресов электронной почты.
filter:
def validate_email(value):
domain = value.split('@')[1]
return domain in settings.VERIFIED_TABLE_EMAILS
в шаблоне:
...
{{email.email}} corresponds to this domain:
{% if email|validate_email %}
...
Смотрите здесь длябольше информации о фильтрах: Пользовательские шаблоны тегов и фильтров