Из просмотра документации видно, что метод form clean () предназначен только для упрощенной проверки синтаксиса, такой как проверка того, что адрес электронной почты заканчивается на «.com» или «.edu», или обеспечениечто пользователь выбирает не более трех элементов из списка «выбери три своих любимых телепередачи».
Я работаю над приложением, которое позволяет пользователям устанавливать свой пароль, и я хочу убедиться, что ихпароль не содержит логин или настоящее имя, а метод clean () не кажется подходящим местом для проведения такого рода проверки, как с точки зрения дизайна, так и с практического ограничения, связанного с методом clean ()не имеет доступа к данным сеанса.
Где лучше всего проводить более тяжелую проверку?Если после вызова form.is_valid()
я выполню некоторую пользовательскую проверку в представлении, есть ли способ вернуться к стандартной обработке ошибок формы?
У меня есть идея, что код может выглядеть следующим образом:
def process_login(request):
"""Display or process the login form."""
if request.method == 'POST':
form = LoginForm(request.POST)
if form.is_valid():
password = form.cleaned_data['password']
if password_is_bad(password, request):
# what now?