我的ValidationError似乎被卡在某处!
例程clean()似乎按预期运行,因为我没有被success_url
,但错误消息没有显示。
forms.py
from django import forms
from django.core.exceptions import ValidationError
class ContactForm(forms.ModelForm):
def clean(self):
raise forms.ValidationError('basic error')
class Meta:
model = Person
views.py
class ContactView(generic.edit.FormView):
def form_valid(self, form):
template_name = 'union/contact.html'
form_class = ContactForm # class of union/forms.py
success_url = '/union/VIP_confirm'
context_object_name = 'contact'
def get_context_data(self, **kwargs):
context = super(ContactView, self).get_context_data(**kwargs)
context['count'] = countcal()
return context
def form_valid(self, form):
if True:
model_id = form.save()
person_id = model_id.pk
return HttpResponseRedirect(
reverse('union:VIP_save', kwargs={'person_id': person_id}))
ContactView 的union / contact.html 模板
<form action="{% url 'union:ContactView' %}" method="post">
{% csrf_token %}
{% for field in form %}
{{ field.errors }}
{{ field.label_tag }} {{ field }}
{% endfor %}
<input type="submit" value="abschicken" />
<!-- regular value submission -->
</form>
我跟随官方docs和其他几个来源,但没有成功,以找出问题是什么或它在哪里。要解决此问题,您是否需要有关我的应用的其他信息?
编辑:我似乎错过了模板中的内容,因为如果模板仅使用表单占位符{{form}}
使用Django 1.7.1
编辑编辑:
好。评论指出了正确的方向。我错过了{{form.errors}}
。