Django версия 1.8.7
Я создаю страницы, на которых пользователь должен добавить список приглашенных к его прополке, поэтому мне нужно было использовать одну и ту же форму много раз на одной и той же странице, чтобы создать несколько экземпляров модели приглашенных; Для этого я использовал набор форм модели с помощью функции modelformset_factory.
Так в моих формах.py
class InviteesForm(ModelForm):
class Meta:
model = Invitees
fields = ['user', 'invitee_name' , 'invitee_address', 'invitee_count',
'invitee_email']
exclude = ('user',)
#creating a formset
InviteesFormSet = modelformset_factory(Invitees, form = InviteesForm )
Вы можете увидеть мою форму модели для модели приглашенных и мой набор InviteesFormSet, который использует функцию modelformser_factory.
В моих views.py
def preview(request):
formset = forms.InviteesFormSet(queryset=Invitees.objects.all())
if request.method == 'POST':
formset = forms.InviteesFormSet(request.POST)
if formset.is_valid():
formset.save(commit = False)
return redirect('/invitees/')
else:
formset = forms.InviteesFormSet(request.POST)
return render(request, 'preview.html', {'formset': formset} )
В моем Preview.html
<form action="/preview/" method='POST'>
{% csrf_token %}
{{ formset.management_form }}
<button type="submit">Add an Invitee</button>
</form>
Формсет не отображается в моем html, я не уверен, что я делаю не так, это базовый код! но я получаю эту ошибку
[u'ManagementForm данные отсутствуют или были подделаны ']
Я попробовал решение, упомянутое здесь, добавив .management_form к набору форм на странице шаблона: см. Здесь
https://docs.djangoproject.com/en/dev/topics/forms/formsets/#understanding-the-managementform
Не могли бы вы помочь мне разобраться в проблеме?
Спасибо