1

我的观点页面:

from django.shortcuts import render
from django.http import HttpResponse
from formtools.wizard.views import SessionWizardView
from .forms import ContactForm1,ContactForm2,ContactForm3


class ContactWizard(SessionWizardView):
    template_name = 'contact.html'
    form_list = [ContactForm1,ContactForm2]

    def done(self, form_list, **kwargs):
        form_data = process_form_data(form_list)

        return render_to_response('done.html', {'form_data': form_data})

    def process_form_data(form_list):
        form_data = [form.cleaned_data for form in form_list]

        return form_data

我的表单页面:

from django import forms


class ContactForm1(forms.Form):enter code here
    subject = forms.CharField(max_length=100)


class ContactForm2(forms.Form):
    sender =  forms.EmailField()

class ContactForm3(forms.Form):
    message = forms.CharField(widget=forms.Textarea)

我是 Django 的新手,我正在使用向导表单,但是这个向导表单没有显示向导 multiform 的 if 语句。请帮我解决向导表单。

网页

{% load i18n %}

<p>Step {{ wizard.steps.step1 }} of {{ wizard.steps.count }}</p>

{% for field in form %}
{{field.error}}
{% endfor %}
<form action="/contact/" method="post">
{% csrf_token %}
<table>
{{ wizard.management_form }}
{% if wizard.form.forms %}
    {{ wizard.form.management_form }}
    {% for form in wizard.form.forms %}
        {{ form }}
    {% endfor %}
{% else %}
    {{ wizard.form }}
{% endif %}
</table>
{% if wizard.steps.prev %}
<button name="wizard_goto_step" type="submit" value="{{ wizard.steps.first }}">{% trans "first step" %}</button>
<button name="wizard_goto_step" type="submit" value="{{ wizard.steps.prev }}">{% trans "prev step" %}</button>
{% endif %}
<input type="submit" value="{% trans "submit" %}"/>
</form>

帮助找出向导多表单中的问题

4

0 回答 0