【发布时间】:2018-03-16 15:55:06
【问题描述】:
我有以下 CreateView
class CreatePerson(CreateView):
model=Person
form_class=PersonForm
def get_context_data(self, **kwargs):
context = super(CreatePerson, self).get_context_data(**kwargs)
if self.request.POST:
context['address_formset'] = AddressInlineFormSet(self.request.POST)
else:
context['address_formset'] = AddressInlineFormSet()
return context
def form_valid(self, form):
context = self.get_context_data()
formset = context['address_formset']
if formset.is_valid():
self.object = form.save()
formset.instance = self.object
formset.save()
return super().form_valid(form)
else:
return self.render_to_response(self.get_context_data(form=form))
还有下面的表格
{% load static crispy_forms_tags %}
...
{% csrf_token %}
{% crispy form %}
{{ address_formset.management_form }}
{% for formset in address_formset %}
{% crispy formset %}
{% endfor %}
...
如何在表单中显示重复键错误(发生在formset模型中)?
这个方法我试过了。
form_errors = formset.errors
return self.render_to_response(self.get_context_data(form=form,form_errors=form_errors))
和
{{ form_errors }}
在表单中给出以下显示。
[{}, {'__all__': ['Please correct the duplicate values below.']}]
如何以脆的方式渲染它?
谢谢
【问题讨论】:
标签: python django django-crispy-forms inline-formset