django form 第一节

[url=http://http://www.cnpythoner.com/catalog.asp?cate=2]django form[/url] 是我接触过的框架中最好用的form,之前我也搞过php,也用过php的一些框架。但是感觉他们在处理form的时候都是力不从心。要不就是集成度太高了,不好扩展。要不就是功能不太强大不能应对web现在的复杂的环境,但是我接触了django以后就发现django的form是多少的爽阿。下面我介绍下form的一些基本的东西,可能我介绍的不好。大家不要扔鸡蛋白菜哈!

form表单可以自己定义表单也可以通过继承model来生成:
表单主要完成4个功能
1显示表当的样式(Widget)
2通过规则验证表单数据(Field)
3显示验证错误信息(Form)
4把提交的数据转换成PYTHON的数据类型并提交表单(Form Media)

我分为几节来介绍django form

第一节的话。我主要介绍怎么定义:

表单定义有2种形式。一个是自己定义表单类型。一个是继承model类型。。
1自己定义的表单类型
from django import forms

class ContactForm(forms.Form):
subject = forms.CharField(max_length=100)
message = forms.CharField()
sender = forms.EmailField()
cc_myself = forms.BooleanField(required=False)


2继承model类型:

model:

class Article(model.models):

price = models.CharField('价格', max_length=50)


from django.forms import ModelForm
class ArticleForm(ModelForm):
这个可以重写继承的model的字段类型。。

比如这里我重新定义下我的表单字段的类型,因为如果是继承model的话。他会根据model的类型来验证表单数据的

比如你model定义的这个字段是char:那么这个字段只允许接受字符类型的数据,这样就能使的form的扩展性更好

例如:我希望price这个字段只接受int类型的数据的话

我就重写:price = forms.CharField(label='价格')
class Meta:
model = Article(关联的model)
fields = ('name', 'title')(定义只包含列出的字段的表单)
exclude = ('birth_date',)(定义排除列出的字段的表单)

如果你理解了[url=http://http://www.cnpythoner.com/catalog.asp?cate=2]django from[/url]的定义的话。继续可以往前学习
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值