jacky.jihao 发表于 2013-2-7 20:20:23

给django的FormWizard来点修改,使其支持上一步,下一步

用过django的FormWizard的人肯定感觉到它的方便灵活,但是没有一个上一步下一步的功能,有点遗憾
 
还好django是开源的,想增强一下这个功能,自己小修改一下源码就可以了(其实就增加了3行代码),用法也没啥区别,原来继承FormWizard改成NewFormWizard,附件里面有这个源文件(基于django1.0.2 的版本)
 
 
#from django.contrib.formtools.wizard import FormWizard#改为from newwizard import NewFormWizardclass PublisherWizard(NewFormWizard):    def done(self, request, form_list):      return render_to_response('books/wizard_done.html', {            'form_data': ,      })    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"value="back" {% ifequal step 1 %}disabled="disabled"{% endifequal %}><input type="submit"value="next" {% ifequal step step_count %}disabled="disabled"{% endifequal %}><input type="submit" value="submit" {% ifequal step 1 %}disabled="disabled"{% endifequal %}></form>{% endblock %}  
 
效果图:
 
http://www.agoit.com/upload/attachment/85742/5b5fa654-81f4-3f57-bdf8-10fb93f156d0.png
http://www.agoit.com/upload/attachment/85744/3cbefbd4-3f0e-3ff3-a334-d6be26575e1c.png
 
 
 
页: [1]
查看完整版本: 给django的FormWizard来点修改,使其支持上一步,下一步