Ключевой концепцией здесь является условное выражение if
.
Что вам не хватает, так это тот факт, что form.validate_on_submit
- это удобная функция , что эквивалентно выражению
if request.method=="POST" and form.validate():
# ...
Вы можете увидеть пример, где это показано здесь
Когда страница загружается впервые, она отправляется с запросом GET . Мы выполняем первую строку form = ContactForm()
и, поскольку наше условное выражение не оценивается как True , чего не будет, поскольку это не запрос POST , мы go переходим к последней строке и визуализируем шаблон HTML, передавая форму.
Теперь, когда страница отображается для пользователя и они отправляют форму, мы отправляем запрос на по тому же маршруту, что и раньше, но с запросом POST . Теперь мы можем проверить форму и, предполагая, что все прошло проверку, мы можем запустить перенаправление.
Надеюсь на помощь, это определенно может немного сбить с толку, прежде чем вы действительно освоитесь с тем, на что смотрите!