Фиксированный суффикс Django Emailfield - PullRequest
0 голосов
/ 27 мая 2019

В моей модели контактов я использую EmailField, чтобы убедиться, что я сохраняю действительный адрес электронной почты.

В моей форме, однако, я хочу, чтобы только пользователь мог изменить деталь до @, доменная часть не определена пользователем.(например, каждое письмо должно заканчиваться @gmail.com)

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

Есть ли какая-то поддержка типа фильтра отображения, который управляет фиксированным префиксом / суффиксом поля формы Django, без необходимости редактировать значения POST илиНужно подавить определенные проверки?

1 Ответ

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

Используйте чистый метод в вашей форме для проверки электронной почты. Это будет что-то вроде этого

def clean(self):
    """Check if valid email for institution."""
    super().clean()
    cleaned_data = self.cleaned_data

    if not '@gmail.com' in cleaned_data['email']
        msg = forms.ValidationError("Your email must be @gmail")
        self.add_error('email', msg)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...