设置Django表单向导

时间:2015-09-27 16:45:17

标签: python django django-formwizard formwizard

我正在尝试设置一个Django表单向导,但是我无法让它工作。我从Django网站上看过这个例子,但是无法得到任何工作。当我转到应该有我的多步骤表单的URL时,只显示扩展的模板html。我在这做错了什么?

FORMS.PY

    class ScheduleDate(forms.Form):
        date = forms.CharField()

    class ScheduleTime(forms.Form):
        time = forms.CharField()

VIEWS.PY

    FORMS =[('date', ScheduleDate),
         ('time', ScheduleTime)]

    TEMPLATES = [('date', 'main/schedule_date2.html'),
         ('time', 'main/schedule_time.html')]


    class ContactWizard(SessionWizardView):
        def get_template_name(self):
            return TEMPLATES[self.steps.current]

        def done(self, form_list, **kwargs):
            print 'testing'
            return HttpResponseRedirect('main/home.html')

URLS.PY

    urlpatterns = patterns('',
        url(r'^checkout/$', views.ContactWizard.as_view([ScheduleDate,    ScheduleTime]), name='checkout'))

SCHEDULE_DATE2.HTML(来自Django网站)

    {% extends "base.html" %}
    {% load i18n %}

    {% block head %}
    {{ wizard.form.media }}
    {% endblock %}

    {% 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 }}
        {% 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>
  {% endblock %}

谢谢!

0 个答案:

没有答案