博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django form 定义
阅读量:5816 次
发布时间:2019-06-18

本文共 1122 字,大约阅读时间需要 3 分钟。

  是我接触过的框架中最好用的form,之前我也搞过php,也用过php的一些框架。但是感觉他们在处理form的时候都是力不从心。要不就是集成度太高了,不好扩展。要不就是功能不太强大不能应对web现在的复杂的环境,但是自从我学习了,接触了它以后就发现django的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',)(定义排除列出的字段的表单)

如果你理解了django from的定义的话。继续可以往前学习: [] [] [] []

转载地址:http://nzmbx.baihongyu.com/

你可能感兴趣的文章
Optional Chaining as an Alternative to Forced Unwrapping
查看>>
回顾HashMap
查看>>
mac osx加入全局启动terminal快捷键
查看>>
opencv源代码之中的一个:cvboost.cpp
查看>>
redis缓存和mysql数据库同步
查看>>
构建Docker Compose服务堆栈
查看>>
最小角回归 LARS算法包的用法以及模型参数的选择(R语言 )
查看>>
jQuery系列 第五章 jQuery框架动画特效
查看>>
java~日期与字符串的转化
查看>>
RabbitMQ学习笔记(二):基础概念
查看>>
Android项目实战(四十):Andoird 7.0+ 安装APK适配
查看>>
hadoop15---activemq
查看>>
CentOS7下zip解压和unzip压缩文件
查看>>
Hadoop生态圈-Kafka常用命令总结
查看>>
如何基于Redis Replication设计并实现Redis-replicator?
查看>>
Linux 环境下 PHP 扩展的编译与安装 以 mysqli 为例
查看>>
开发uniapp必备
查看>>
TPS和QPS的区别和理解
查看>>
[INS-30131]执行安装程序验证所需的初始设置失败(原因:无法访问临时位置)...
查看>>
微服务之分布式跟踪系统(springboot+zipkin+mysql)
查看>>