注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

哈欠涟涟的博客

学习python、pyqt与django

 
 
 

日志

 
 

Form预览  

2008-10-27 19:05:54|  分类: django |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Form预览
Django提供了一个可选的"form preview"组件,帮助自动建立下列流程:
“显示一个html表单,强制preview,然后执行提交”
强制表单提交预览,只要定一个python类就行。
介绍:
  定义一个django.forms.Form的子类,下列流程会自动得到:
  1、在Web页中显示一个表单
  2、当通过post提交数据时,验证表单数据。1)如有效,显示预览页 2)否则显示表单的错误信息
  3、在预览页中提交一个确认表单,调用done()

如何使用FormPreview
1、指定FormPreview模板。
  方法一:在INSTALLLED_APPS中,加上'django.contrib.formtools'.如TEMPLATE_LOADERS包含app_directories就行。
  方法二:定义完整文件路径为django/contrib/formtools/templates,并加这个路径到TEMPLATE_DIRS.
2、建立FormPreview的子类,并重载done().
from django.contrib.formtools.preview import FormPreview
from myapp.models import SomeModel

class SomeModelFormPreview(FormPreview):

    def done(self, request, cleaned_data):
        # Do something with the cleaned_data, then redirect
        # to a "success" page.
        return HttpResponseRedirect('/form/success')
3、修改URLconf:
from myapp.preview import SomeModelFormPreview
from myapp.forms import SomeModelForm
from django import forms
....
(r'^post/$', SomeModelFormPreview(SomeModelForm)),
4、运行django server,浏览/post/

FormPreview类
classs FormPreview
FormPreview类是一个简单类,提供预览流程。FormPreview类必须子类化django.contrib.formtools.preview.FormPreview,重载done()

FormPreview模板

  评论这张
 
阅读(404)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017