继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Django 表单处理流程

CDWei
关注TA
已关注
手记 3
粉丝 3
获赞 2

Django 的表单类别可以自动产生HTML 表单,因此不需写太多HTML 程式码

▸ 利用表单完成资料之增读改删查功能:Create, Read, Update, Delete, Search (CRUD + search)

▸ Django表单功能:

✶ 利用自动产生的小工具来显示HTML 表单,例如文字栏位或日期选择器

✶ 依据所指定的规则来验证表单资料

✶ 如果表单资料有误,会自动重新显示表单


Django表单的处理流程

▸在app目录里建立forms.py模组

▸在forms.py中建立表单类别(Form class)

▸ 如果需要,可以客制化Django 表单

▸ 建立表单处理的URL 对应

▸ 撰写views 程式来处理表单,包括:呈现及储存表单资料、显示错误讯息等

▸ 建立范本来呈现HTML 表单

Django表单类别

▸依据Article model建立Django表单ArticleForm

http://img2.mukewang.com/5f50c9c500018a9006040263.jpg

首先汇入formsArticle model

✶ ArticleForm()Article model的表单,因为表单栏位来自Model,因此继承forms.ModelForm,有两个输入栏位( titlecontent )

title:字元栏位( CharField ),栏位标签为「标题」,最长128个字元, Django预设CharField使用<input type="text" ...>输入栏位

content:字元栏位( CharField ),栏位标签为「内容」,Widget为表单小工具,用来设定页面中的输入模式(此例为<textarea ...>...</textarea> )

#在诠释资料中,model = Article:说明表单来自于Article model,Django会检查表单和Model是否一致

fields = ['title', 'content']:以串列指定表单所使用的栏位,有三种写法:

- fields = [...]:包含所需要的Model栏位(正面表列)

- exclude = [...]:排除某些Model栏位(负面表列)

- fields = '__all__':所有Model栏位


分享一些Django表单的常用栏位

常用栏位:

CharField:字元
IntegerField:整数
FloatField:浮点数
BooleanField:布林
DateField:日期
DateTimeField:日期时间
ChoiceField:单选
MultipleChoiceField:复选
ModelChoiceField:单选(选项来自Model) 
ModelMultipleChoiceField:复选(选项来自Model) 
URLField:网址
EmailField:电邮




打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP