Django formtools Wizard done функция не выполняется
(Ссылки:
)- Django formtools done function not executed
- https://django-formtools.readthedocs.io/en/latest/_modules/formtools/wizard/views.html#WizardView
- https://django-formtools.readthedocs.io/en/latest/wizard.html#wizardview-advanced-methods )
Я пытаюсь сделать то же самое. Шаги работают и отдельные данные формы удается получить, но после нажатия кнопки submit и окончательной отправки формы, я ожидаю, что все три данных формы будут отправлены одновременно и функция done должна обработать это, но этого не происходит. Я не могу найти причину этого. Из-за политики я не могу поделиться кодом, но помещаю здесь фиктивный код и логику того, что я реализую. Пожалуйста, направьте меня. Ниже приведен мой код,
(Это Edit Form, которую я пытаюсь создать, в каждой форме метод init также переопределяется для начальных данных wrt pk, все это работает без проблем)
done.html
{% extends CURRENT_TEMPLATE %}
{% load static %}
{% block content %}
Hi you are watching done.html
{{ data }}
{% endblock content %}
form.html
{% extends CURRENT_TEMPLATE %}
{% load i18n %}
{% block content %}
<p>Step {{ wizard.steps.step1 }} of {{ wizard.steps.count }}</p>
<form action="" method="post">{% csrf_token %}
<table>
{{ wizard.management_form }}
{% if wizard.form.forms %}
{{ wizard.form.management_form }}
{% for form in wizard.form.forms %}
{{ form.as_table }}
{% endfor %}
{% else %}
{{ wizard.form }}
{% endif %}
</table>
{% if wizard.steps.prev %}
<button name="wizard_goto_step" type="submit" value="{{ wizard.steps.prev }}">{% trans "prev step" %}</button>
{% endif %}
{% if wizard.steps.next %}
<button name="wizard_goto_step" type="submit" value="{{ wizard.steps.next }}">{% trans "next step" %}</button>
{% endif %}
{% if not wizard.steps.next %}
<button type="submit" value="{% trans "submit" %}">{% trans "Submit" %}</button>
{% endif %}
</form>
{% endblock %}
Forms.py
from django import forms
class RouteEditForm1(ModelForm):
field1 = forms.CharField(max_length=100)
class Meta:
model = MainModel
fields = ['field2','field3']
class RouteEditForm2(ModelForm):
class Meta:
model = MainModel
fields = ['field4','field5']
class RouteEditForm3(ModelForm):
class Meta:
model = MainModel
fields = ['field6','field7']
Views.py
А также после отправки формы на последнем шаге страница снова перенаправляется на шаг 1. Почему?