Django 之Form
具体可参考:http://www.liujiangblog.com/course/django/153
https://www.cnblogs.com/liuguniang/p/7141837.html
https://www.cnblogs.com/liwenzhou/p/8747872.html
一,Form字段:
1)验证
2)生成HTML(保留上次输入内容)
3)初始化默认值
Form 重点字段:
------ChoiceField *****8
------MultipleChoiceField
------CharField
------IntegerField
------DecimalField
------DateField
------DateTimeField
------EmailField
------GenericIPAdressField--
------FileField
------RegexField
三,具体用法:
1)CharField的参数
class TestForm(forms.Form): user = fields.CharField( required=True, # 是否必填 max_length=12, # 最大长度 min_length=3, # 最小长度 error_messages={ # 错误提示 'required':'' }, # widget = widgets.Textarea, # 定制html插件 # widget=widgets.Select, label="用户名", initial='请输入用户名', # 默认值 show_hidden_initial=False, # 是否在当前插件在家一个隐藏的且具有默认值的插件(可用于检验两次输入是否一致) validators=[], # 自定制验证规则(是否是手机号) localize=False, # 是否支持本地化 disabled=True, # 是否可以编辑 label_suffix=":", ) age = fields.IntegerField(label="年龄",) email = fields.EmailField(label="邮箱",)
当widget = widgets.Textarea 展示效果如下
当widget=widgets.Select展示效果如下
2)
简单了解
1){{ obj.as_p }}
2)
<ul>{{ obj.as_ul }}
</ul>
3)
<table>
{{ obj.as_table}}
</table>
3)IntegerField类型
age = fields.IntegerField(label="年龄",max_value=12,min_value=5,error_messages={'max_value' : "太大了"})
4)DecimalField类型
weight = fields.DecimalField(label = "体重",max_value=30, # 最大值min_value=10, # 最小值max_digits=5, #总长度decimal_places=3, #小数位的长度)
5)RegexField正则
6)EmailField
7)URLField
8)FileField
img = fields.FileField(label="上传文件")
.html中
novalidate enctype="multipart/form-data"
9)ChoiceField
city = fields.ChoiceField(label="城市",choices=[(1,"上海"),(2,"北京"),(3,"天津"),],initial = 2,)
10)MultipleChoiceField
hobby = fields.MultipleChoiceField(label="爱好",choices=[(1, "篮球"), (2, "足球"), (3, "乒乓球"), ],initial=[1, 2], # 多选是列表)
11)TypeChoiceField 转换类型的,打印输出的chocices 1不是字符串类型而是int类型
city = fields.TypedChoiceField(coerce=lambda x: int(x),#转换类型label="城市",choices=[(1, "上海"), (2, "北京"), (3, "天津"), ],initial=2, # 单选是单值)
二.Form 之 插件:每一个fields字段都是一个正则表达式+默认的插件组成的,
1)更改默认插件:
widget = widgets.TextInput(attrs={'n':123}), #加自定义属性
2)如果想把
txt = "<input type = 'text/>" 标签类的文本展示到页面上,需要在view传值的页面加上
from django.utils.safestring import mark_safetxt =mark_safe("<input type = 'text/>")
3)Django 的内置插件: 单选的两种写法如下: select
只有select 有choice input什么的没有
xdb = fields.CharField(widget=widgets.Select(choices=[(1,"11"),(2,"22"),]))
也可以直接用ChoiceField
xdb = fields.ChoiceField( choices=[(1,"11"),(2,"22"),])
多选的写法如下:
xdb = fileds.MultipleChoiceField(choices = [(1,"111"),(2,"222")]widget = widgets.SelectMultiple(attrs = {"class":"cl"})
)
4)checkbox(单选的)
xdb = fields.CharField(# widget=widgets.Select(choices=[(1,"11"),(2,"22"),])widget=widgets.CheckboxInput())
5)checkbox(多选的)
xdb = fields.MultipleChoiceField(initial=[2,],choices = [(1, "篮球"), (2, "足球"), (3, "乒乓球"), ],# widget=widgets.Select(choices=[(1,"11"),(2,"22"),])widget=widgets.CheckboxSelectMultiple())
6)radio
xdb = fields.ChoiceField(initial=[2,],choices = [(1, "篮球"), (2, "足球"), (3, "乒乓球"), ],# widget=widgets.Select(choices=[(1,"11"),(2,"22"),])widget=widgets.RadioSelect())
三.特殊的单选或者多选时,数据源是否能实时更新????/
https://www.cnblogs.com/
转载于:https://www.cnblogs.com/wangyue0925/p/9047425.html
Django 之Form相关推荐
- Django models Form model_form 关系及区别
Django models Form model_form 转载于:https://www.cnblogs.com/hellojesson/p/6234636.html
- Django的Form表单
Django的Form表单 Django Form Form介绍 Form 表单是在前端向后端提交数据最常用的方式,同时在好多场景下都需要对用户的输入进行校验. 以注册为例,Form 需要的三件事: ...
- 转载:Django之Form组件
Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 小试牛刀 1.创建Form类 + View C ...
- django之Form表单
HTML表单 在HTML中,表单是<form>...</form> 之间元素的集合,它们允许访问者输入文本.选择选项.操作对象和控制等等,然后将信息发送回服务器. 某些表单的元 ...
- Django之Form插件
Django的Form主要具有一下几大功能: 生成HTML标签(自动生成HTML标签项) 验证用户数据(验证数据) HTML Form提交保留上次提交数据(保留上次数据) 初始化页面显示内容(快速显示 ...
- Django之Form组件介绍
--------------------------------------前言------------------------------------ 在进入正题之前,想多说两句; 当我们开始学习一 ...
- Django的form组件提交时错误不显示或无法提交
出现的问题:在学习django的form组件时,对不符合form组件定义的字段无法提交,进而导致无法显示出自定义的错误信息.(因为无法提交就代表着数据没有传给后台,然后你的错误回显是在后台对数据的检验 ...
- django.forms生成HTML,第21天,Django之Form组件
ModelForm 一.Form组件初识 Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 mo ...
- Django之Form验证clean方法(验证篇六)
上一篇:Django之Form验证select的choice选项数据从数据库实时调用(验证篇五)点击跳转 目录篇:Django之Form及ModelForm目录篇 点击跳转 下一篇:django之mo ...
最新文章
- 初探 开源视频会议 openmeeting
- IP、TCP、UDP报文头说明
- Android之内存管理-内存监测-内存优化
- 为什么 MySQL 回滚事务也会导致 ibd 文件增大?
- 1106 Lowest Price in Supply Chain (25)
- JAVA ThreadPoolExecutor线程池
- linux系列的命令补充
- mysql免费框架_MySQL(ORM框架)
- Android Studio 设置/更改 SDK 路径
- mysql特效_Cocos2d-x学习笔记(16)(常见22种特效)
- PHP定义常量define和const的区别
- 渗透测试工程师面试题大全(一)
- PHP 报错 Resource temporarily unavailable 无法删除上传的资源
- 深度学习—利用TensorFlow2实现狗狗品种品种(mobilenet实现)
- Altium Designer16 精心总结
- 做题两大解题思想 by zyz on 2021/4/11
- CGlib、Enhancer、ProxyFactory在springboot中的实现动态代理
- Google OR-Tools(一) Get Start
- html 字号和像素的关系,一文搞懂CSS中的字体单位大小(px,em,rem...)
- 目标检测—基于Yolov5的目标检测项目(学习笔记)
热门文章
- 《为什么在多核处理器下需要内存屏障(MenmoryBarrier)?》
- Android Touch事件传递机制解析 (推荐)
- SQL compute by 的使用
- 算法导论 第六章 堆排序 习题6.5-8 k路合并排序
- oracle+监控索引使用,ORACLE 监控索引的使用
- leetcode算法题--叶值的最小代价生成树
- leetcode算法题--计算各个位数不同的数字个数
- shell变量加单引号sql_关于shell:在Bash中的命令中扩展变量的单引号
- PM-Summit 2019全球产品经理大会北京站即将开幕!
- Deformable ConvNets--Part4: Deformable Convolutional Networks