跳转到主要内容

官方Django表单向导的扩展,支持在向导步骤中包含多个表单。

项目描述

https://badge.fury.io/py/django-multipleformwizard.svg https://travis-ci.org/vikingco/django-multipleformwizard.svg?branch=master https://coveralls.io/repos/vikingco/django-multipleformwizard/badge.svg?branch=master https://readthedocs.org/projects/django-multipleformwizard/badge/

官方Django表单向导的扩展,支持在向导步骤中包含多个表单。

文档

完整文档位于 https://django-multipleformwizard.readthedocs.org

快速入门

安装django-multipleformwizard

pip install django-multipleformwizard

然后在项目中使用它

# Every *WizardView that can be imported is an equivalent of a builtin *WizardView in Django
from multipleformwizard import (SessionMultipleFormWizardView, CookieMultipleFormWizardView,
                                NamedUrlSessionMultipleFormWizardView, NamedUrlCookieMultipleFormWizardView,
                                MultipleFormWizardView, NamedUrlMultipleFormWizardView)

示例使用

from __future__ import unicode_literals

from django import forms
from django.shortcuts import render_to_response

from multipleformwizard import SessionMultipleFormWizardView

from .forms import Form1, Form2, Form3

class Wizard(SessionMultipleFormWizardView):
    form_list = [
        ("start", Form1),
        ("user_info", (
            ('account', Form2),
            ('address', Form3)
        )
    ]

    templates = {
        "start": 'demo/wizard-start.html',
        "user_info": 'demo/wizard-user_info.html'
    }

    def get_template_names(self):
        return [self.templates[self.steps.current]]

    def done(self, form_dict, **kwargs):
        result = {}

        for key in form_dict:
            form_collection = form_dict[key]
            if isinstance(form_collection, forms.Form):
                result[key] = form_collection.cleaned_data
            elif isinstance(form_collection, dict):
                result[key] = {}
                for subkey in form_collection:
                    result[key][subkey] = form_collection[subkey].cleaned_data

        return render_to_response('demo/wizard-end.html', {
            'form_data': result,
        })

历史

0.2.16 (2015-04-28)

  • 错误修复。

0.2.15 (2015-04-24)

  • 错误修复。

0.2.14 (2015-04-23)

  • 添加Django Formtools作为依赖项,以兼容Django >= 1.8。

0.2.13 (2015-03-24)

  • 错误修复。

0.2.12 (2015-03-17)

  • 错误修复。

0.2.11 (2015-03-17)

  • 错误修复和重构了延迟表单列表初始化。

0.2.10 (2015-03-16)

  • 错误修复。

0.2.9 (2015-03-16)

  • 扩展了接口,增加了加载表单列表的延迟功能。

0.2.8 (2015-03-09)

  • 错误修复。

0.2.7 (2015-03-05)

  • 扩展了接口,提供了将之前步骤的cleaned_data暴露给当前步骤上下文的可选设置。

0.2.6 (2015-03-05)

  • 错误修复。

0.2.5 (2015-03-05)

  • 扩展了接口,提供了便利的方法:get_all_cleaned_data_dict()。

0.2.4 (2015-03-05)

  • 错误修复。

0.2.3 (2015-03-04)

  • 更新元信息。

0.2.2 (2015-03-03)

  • 更新文档。

0.2.1 (2015-03-03)

  • 更新文档。

0.2.0 (2015-03-03)

  • 包含文档。

0.1.9 (2015-03-03)

  • 各种错误修复。

0.1.7 (2015-03-02)

  • PyPI上的第一个稳定版本。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

django-multipleformwizard-0.2.16.tar.gz (11.6 kB 查看哈希值)

上传时间

支持