Django - 提交时表单上不显示错误消息

时间:2015-07-27 13:48:04

标签: python django

您好我的django表单验证有问题,这是问题所在:

当我提交表单并且验证不符合条件时,ValidationError()不会引发任何消息。

这是代码:

views.py

def AddArticle(request):
    if request.method == 'POST':
        form = ArticleForm(request.POST, request.FILES)

        if form.is_valid():
            save_it = form.save(commit=False)
            save_it.user = request.user
            save_it.save()
            form.save_m2m()
            return HttpResponseRedirect('/')
    else:
        form = ArticleForm()

context = {'form':form}
return render(request, 'template.html', context, context_instance=RequestContext(request))

template.html

<form class="form" action="{% url "article.views.AddArticle" %}" method="post" enctype='multipart/form-data'>
    {% csrf_token %}
    {{ form.non_field_errors }}
    <div class="form-group fieldWrapper">
      {{ form.titre.errors }}
      {{ form.titre.label_tag }}
      {{ form.titre }}
    </div>
    <div class="form-group fieldWrapper">
      {{ form.image.errors }}
      {{ form.image }}
   </div>
   <input type="submit" class="btn btn-default" value="Submit" autocomplete="off" autocorrect="off" />
</form>

forms.py

class ArticleForm(forms.ModelForm):
    class Meta:
        model = Article

    def clean_titre(self):
        titre = self.cleaned_data['titre']
        if len(titre) < 5:
            raise ValidationError('TITRE ERROR')
        return titre

form = ArticleForm()

我做错了什么?为什么错误消息不会显示在网站上?

1 个答案:

答案 0 :(得分:2)

{{ form.titre.error }}

上面的行应该是:

{{ form.titre.errors }}

django documentation

中以这种方式显示
相关问题