用过django的FormWizard的人肯定感觉到它的方便灵活,但是没有一个上一步下一步的功能,有点遗憾
还好django是开源的,想增强一下这个功能,自己小修改一下源码就可以了(其实就增加了3行代码),用法也没啥区别,原来继承FormWizard改成NewFormWizard,附件里面有这个源文件(基于django1.0.2 的版本)
#from django.contrib.formtools.wizard import FormWizard
#改为
from newwizard import NewFormWizard
class PublisherWizard(NewFormWizard):
def done(self, request, form_list):
return render_to_response('books/wizard_done.html', {
'form_data': [form.cleaned_data for form in form_list],
})
def get_template(self, step):
return 'books/wizard.html'
当然相应的wizard.html模板得有个上一步 下一步的button
{% extends "books/base.html" %}
{% block content %}
<p>Step {{ step }} of {{ step_count }}</p>
<form action="." method="post">
<table>
{{ form.as_table }}
</table>
<input type="hidden" name="{{ step_field }}" value="{{ step0 }}" />
{{ previous_fields|safe}}
<input type="hidden" id="clicked" type="text" name="clicked" value="" />
<input type="submit" onclick="javascript:document.getElementById('clicked').value='back';" value="back" {% ifequal step 1 %}disabled="disabled"{% endifequal %}>
<input type="submit" onclick="javascript:document.getElementById('clicked').value='next';" value="next" {% ifequal step step_count %}disabled="disabled"{% endifequal %}>
<input type="submit" value="submit" {% ifequal step 1 %}disabled="disabled"{% endifequal %}>
</form>
{% endblock %}
效果图:
- 大小: 10.2 KB
- 大小: 9.6 KB
分享到:
相关推荐
在Django框架中,表单(Form)是处理用户数据的核心工具,特别是在处理文件上传时。本教程将深入探讨如何使用Django Forms来实现文件上传功能。 首先,我们需要了解Django Form的基本结构。在Django中,创建一个...
尽管初学者可能会觉得Django的安装和配置过程相对复杂,但一旦掌握其核心概念和流程,便能利用其强大的功能快速构建出高质量的Web应用程序。未来的学习中,我们将深入探讨Django的各个模块和高级特性,进一步提升...
在Django框架中,Form是处理用户输入数据的重要工具,它简化了模型与视图之间的交互,使得数据验证和处理更加高效。本教程基于Django 1.6和Python 2.7.6,将详细介绍如何利用Form实现注册、登录、注销以及修改密码...
综上所述,Django的Form表单验证为Web应用程序提供了一种强大而灵活的方式来处理用户输入,确保数据的完整性和安全性。通过熟悉和掌握这些概念,开发者可以构建出健壮、易于维护的Web应用。阅读"3.4 Django Form.pdf...
值得注意的是,Django 1.7之后支持通过将字段的name设置为none来移除父类中定义的字段。这一功能允许开发者在继承时有更灵活的字段控制能力。 在使用ModelForm和formset时,我们还可以通过error_messages属性在Meta...
1. **定义Form类**:在Django中,你需要创建一个继承自`forms.Form`或`forms.ModelForm`的类来定义表单字段及其验证规则。例如: ```python from django import forms class LoginForm(forms.Form): username = ...
### Django前端模板及crispy form美化等 #### 一、引言 本文档作为对上一篇关于Django用户登录注册等内容的延续,主要聚焦于如何利用第三方库Crispy Forms来实现前端页面的美化与优化。对于初学者而言,掌握Django...
Django 的设计目标是使开发者能够快速地构建安全且可维护的网站。它以其强大的功能、易用性和高效的性能而闻名,尤其适合大型数据管理和复杂的业务逻辑。 【初识Django】 Django 的入门可能对新手来说有一定挑战,...
1 第一讲 入门1.1 开篇1.2 Django的入门体验1.3 结论2 第二讲 生成一个web form 做加法的简单例子2.1 引言2.2 实现2.3 补充说明3 第三讲 使用Template的简单例子4 第四讲 生成csv格式文件并下载5 第五讲 session和...
django-bootstrap-form, Django 格式的Twitter Bootstrap Django Bootstrap 表单 用于 Django 表单的Twitter Bootstrap 。一个简单的Django 模板标签,用于处理 Bootstrap 。安装用pip安装 django-bootstr
Django 社区活跃,拥有丰富的第三方应用和大量的开发者支持,使得其功能不断扩展和更新。 【入门体验】 初学者在接触Django时可能会觉得相比其他如Karrigell这样的框架,Django的入门门槛稍高。尽管如此,Django的...
资源分类:Python库 所属语言:Python 资源全名:django-form-builder-0.9.18.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
本文将深入探讨如何在Django forms中创建一个包含`select`下拉框的表单,并且理解其传值机制。 首先,我们需要在`forms.py`文件中定义一个自定义的表单类,例如`SignupForm`。在这个类中,我们创建字段(fields),...
以上只是Django框架的基本介绍,实际上,Django的功能远不止这些,还包括缓存系统、国际化、电子邮件支持、管理界面等多个方面。通过深入学习和实践,开发者可以利用Django构建出复杂、高性能的Web应用。
Django知识点 PPT形式,Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。 Django是一个开放源代码的Web应用框架,由Python写成。 Django遵守BSD版权,...
经过不懈的努力,在官网停止开发的基础上,修改开发成支持python3和django2.0以上的环境。 经过不懈的努力,在官网停止开发的基础上,修改开发成支持python3和django2.0以上的环境。 经过不懈的努力,在官网停止开发...
django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django...
### Windows环境下Django安装及WEB服务启动教程 #### 一、前言 Django是一款流行的开源Web框架,基于Python语言开发。它可以帮助开发者快速构建高性能的网站应用。本教程将详细介绍如何在Windows环境下安装Django并...
在2023年的大二下学期,Django框架的学习成为了重要的课程内容,这门期末复习资料涵盖了Django的核心概念、关键技术和实际应用。Django是Python编程语言中的一款高级Web开发框架,它以“快速开发、清晰设计、强调可...