class LoginForm(model_form(User, base_class=Form, exclude=['first_name', 'last_name'], field_args=User.get_field_args_login())): """ Class representing the form handling authentication in the admin area. """ def validate_username(self, field): del field user = self.get_user() if user is None: raise validators.ValidationError('Username does not exist.') def validate_password(self, field): del field user = self.get_user() if user is None: return if not check_password_hash(user.password, self.password.data): raise validators.ValidationError('Password is invalid.') def get_user(self): return User.query.filter_by(username=self.username.data).first()