Отображение ошибки формы в соответствующем поле формы

Возможно ли отобразить ошибку формы в соответствующей форме ошибки поля? И если нет, то как можно настроить имя поля при повышении ошибки поля?

Например, у меня есть система регистрации/логина, где я использую поле email в качестве идентификатора. Это потому, что я использую пользовательскую систему регистрации/логина, с BaseUserManager и AbstractBaseUser, например:

models.py

class User(AbstractBaseUser):
    username = models.CharField(
        verbose_name = u'Nome',
        max_length=33
    )
    #identifier
    email = models.EmailField(
        verbose_name = u'Email',
        max_length=255,
        unique=True,
    )
    #....

forms.py

class LoginForm(AuthenticationForm):   
    username = forms.EmailField(
        label="Email",
        required=True,
        widget=forms.TextInput(
            attrs={'placeholder': 'Email'}
    ))
    password = forms.CharField(
        label=False,
        max_length=50,
        required=True,
        widget=forms.PasswordInput(
            attrs={'placeholder': 'Senha'}
    ))
    class Meta:
        model = User
        fields = ['email', 'password']

Проблема в том, что когда username поле формы имеет ошибку, сообщение отображается: username...error, но мне нужно показать Email...error, желательно внутри соответствующего поля. Даже при verbose_name = u'Email' in model.field, the error message display username...errror...

Итак: 1- Как я могу отобразить ошибку внутри соответствующего поля формы как placeholder or value и 2 - Как настроить form.field.name.error при появлении ошибки?

Добавьте validate fn в класс вашей формы для валидации следующим образом:

class LoginForm(AuthenticationForm):
  ...

  def validate(self, value):
        """Check if value consists only of valid emails."""
        # Use the parent's handling of required fields, etc.
        super().validate(value)
        for username in value:
            validate_username(username)
            validate_password(password)
Вернуться на верх