I Django forms, он может проверить, действительна ли форма:
if form.is_valid():
return HttpResponseRedirect('/thanks/')
Но мне не хватает, что делать, если это недействительно? Как мне вернуть форму с сообщениями об ошибках? Я не вижу «еще» ни в одном из примеров.
django
django-forms
пользователь984003
источник
источник
myForm
- это экземплярforms.Form
илиforms.ModelForm
, прочтите о Django FormsUNIQUE constraint failed:
исключению?views.py
Если вы хотите показать ошибки формы, отличные от недействительной, просто введите {{form.as_p}}, как я сделал ниже
page.html
источник
messages.error(request, "Error")
?источник
ОБНОВЛЕНИЕ: Добавлено более подробное описание ошибок набора форм.
Form.errors объединяет все поля и non_field_errors. Поэтому вы можете упростить html до следующего:
шаблон
form_tags.py
Одно предостережение: в отличие от форм Formset.errors не включает non_field_errors.
источник
просто вы можете сделать это, потому что когда вы инициализировали форму, она также содержит данные формы и недопустимые данные:
if вызовет ошибку в шаблоне, если она есть, но данные формы все равно останутся такими:
error_demo_here
источник
@ Ответ Аамира Аднана отсутствует
field.label
; другой способ показать ошибки в нескольких строках.источник
Вы можете просто указать переменную флага, в данном случае is_successed .
после этого в свой шаблон вы можете просто поместить код ниже
источник