I have the following 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))
and the following form
{% load static crispy_forms_tags %}
...
{% csrf_token %}
{% crispy form %}
{{ address_formset.management_form }}
{% for formset in address_formset %}
{% crispy formset %}
{% endfor %}
...
How do I display the duplicate key error (occurred in the formset model) in the form?
I have tried this way.
form_errors = formset.errors
return self.render_to_response(self.get_context_data(form=form,form_errors=form_errors))
and
{{ form_errors }}
which gives the following display in the form.
[{}, {'__all__': ['Please correct the duplicate values below.']}]
How do I render it in crispy way?
Thanks
All that I need was...
{% csrf_token %}
{% crispy form %}
{% crispy address_formset address_formset.form.helper %}