Нашел только старые ответы и примеры, которые я не понял об отображении ошибок в представлении.
Я создал метод clean_message
в своем forms.py
, который проверяет, есть ли что-то в self.message
, и вызывает ValidationError
, если нет.
"""
Comment
"""
class CommentForm(forms.Form):
"""
Comment field
"""
comment = forms.CharField(
widget = forms.Textarea(
attrs = {
'class': 'form-control',
'rows': 2
}
)
)
def clean_comment(self):
if self.cleaned_data['comment'] is None:
raise form.ValidationError({'comment': ['You must enter your comment'])
А это файл просмотра. Что мне нужно для отображения ошибок, построенных, как показано выше?
<form action="comment" method="POST">
{% csrf_token %}
<div class="form-group">
{{ form.comment.errors }}
{{ form.comment }}
</div>
<div class="form-group">
<input type="submit" value="Say it" class="btn btn-success">
</div>
</form>
Я пытался использовать {{ form.errors }}, перебирать его, использовать {{ form.non_field_errors }} и т. д., но ничего не получилось. Я думаю, что я перезагружаю форму, и поэтому сообщения не отображаются.
{{ form.errors }}
. Я думаю, что документы Django довольно ясно объясняют это. - person Rohit Jain   schedule 20.03.2016