最新要闻
- 全球观察:索尼音乐在B站传了17万个视频 网友:当免费服务器了
- 当前时讯:比亚迪技术加持 创维汽车2022年总销量21916台 暴增255.72%
- 天天日报丨复兴号新动车元旦首秀:红白灰绿四色机身成“网红”车型
- N95有效防护时间为4到6小时:和戴普通口罩效果有什么区别?
- 视焦点讯!RTX 4070 Ti完整规格、性能曝光:4090一半性能、一半的价格
- iPhone 15 mini重出江湖?苹果把这几个功能加上卖爆
- 世界热文:蒙脱石散为啥突然火了?医生提醒:不要乱用 小心便秘
- 环球关注:1月4日发布!一加11官宣搭载双环式对磁扬声器:支持杜比全景声
- 世界讯息:新能源补贴正式终止!小鹏宣布:2023年各车型售价与补贴后一致
- 今日热搜:岚图汽车12月交付1729辆 大增14.7%!全年累计交付19409辆
- 环球微速讯:《阿凡达2》成第100部内地票房破10亿电影:当年《阿凡达1》是第1部
- 今日看点:外观帅炸了!阿富汗首款国产跑车随风雪亮相喀布尔
- 《王者荣耀》盘古即将获得品质升级:上手难度大幅下降
- 每日短讯:跨年夜无人机被气球缠绕坠落人群 引发一阵惊呼
- 大年初一上映!《流浪地球2》微笑海报发布:主创全员出镜
- 2023全年油价调整时间表出炉:1月3日第一调 要涨
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
热头条丨Django组件之form组件
(相关资料图)
目录- Django组件之form组件
- 一、form组件
- 二、forms组件渲染标签
- 三、forms组件展示信息
- 四、forms组件校验补充
- 五、forms组件参数补充
- 六、modelform组件
Django组件之form组件
一、form组件
1.自动校验数据2.自动生成标签3.自动展示信息
from django import formsclass MyForm(forms.Form): username = forms.CharField(min_length=3, max_length=8) # username字段最少三个字符最大八个字符 age = forms.IntegerField(min_value=0, max_value=200) # 年龄最小0 最大200 email = forms.EmailField() # 必须符合邮箱格式
校验数据的功能(初识)
form_obj = views.MyForm({"username":"jason","age":18,"email":"123"}) form_obj.is_valid() # 1.判断数据是否全部符合要求 只要有一个不符合结果都是False form_obj.cleaned_data # 2.获取符合校验条件的数据 {"username": "jason", "age": 18} form_obj.errors # 3.获取不符合校验规则的数据及原因 {"email": ["Enter a valid email address."]}
1.只校验类中定义好的字段对应的数据 多传的根本不做任何操作2.默认情况下类中定义好的字段都是必填的
二、forms组件渲染标签
方式1(封装程度过高 扩展性差 主要用于本地测试)
{{ form_obj.as_p }}{{ form_obj.as_ul }}{{ form_obj.as_table }}
方式2(封装程度过低 扩展性高 编写麻烦)
{{ form_obj.username.label }}{{ form_obj.username }}{{ form_obj.age.label }}{{ form_obj.age }}{{ form_obj.email.label }}{{ form_obj.email }}
方式3(封装程度较高 扩展性高 编写简单 推荐使用)
{% for form in form_obj %} {{ form.label }} {{ form }}
{% endfor %}
# 注意事项forms组件之负责渲染获取用户数据的标签 也就意味着form标签与按钮都需要自己写前端的校验是弱不禁风的 最终都需要后端来校验 所以我们在使用forms组件的时候可以直接取消前端帮我们的校验
三、forms组件展示信息
def ab_forms_func(request): # 1.产生一个空对象 form_obj = MyForm() if request.method == "POST": # request.POST可以看成是一个字典直接传给forms类校验字典中无论有多少键值对都没关系只在乎类中编写的 form_obj = MyForm(request.POST) if form_obj.is_valid(): # 校验数据是否合法 print(form_obj.cleaned_data) else: print(form_obj.errors) # 2.将该对象传递给html文件 return render(request, "formsPage.html", locals())
{% for form in form_obj %} {{ form.label }} {{ form }} {{ form.errors.0 }}
{% endfor %}
# 错误信息提示的语言环境修改方式1:简单粗暴,直接在配置文件中修改语言环境from django.conf import global_settings django内部真正的配置文件
# 错误信息提示的语言环境修改方式1:自定义内容 给字段对象添加errors_messages参数username = forms.CharField(min_length=3, max_length=8, label="用户名", error_messages={ "min_length": "用户名最少三个字符", "max_length": "用户名最多八个字符", "required": "用户名不能为空" } )
四、forms组件校验补充
forms组件针对字段数据的校验 提供了三种类型的校验方式(可以一起使用)
第一种类型:直接填写参数 max_length第二种类型:使用正则表达式 validators第三种类型:钩子函数 编写代码自定义校验规则
钩子函数>>>:校验的最后一环 是在字段所有的校验参数之后触发
# 局部钩子:每次只校验一个字段数据 校验用户名是否已存在def clean_username(self): username = self.cleaned_data.get("username") if username == "jason": self.add_error("username", "用户名jason已存在") return username
# 全局钩子:一次可以校验多个字段数据 校验两次密码是否一致def clean(self): password = self.cleaned_data.get("password") confirm_pwd = self.cleaned_data.get("confirm_pwd") if not password == confirm_pwd: self.add_error("confirm_pwd", "两次密码不一致") return self.cleaned_data
五、forms组件参数补充
min_length最小字符max_length最大字符min_value最小值max_value最大值label 字段注释error_messages错误提示validators正则校验器initial默认值required是否必填widget控制标签的各项属性
六、modelform组件
# modelform组件是forms组件的强化版本 更好用更简单更方便!!!from django import formsfrom app01 import modelsclass MyModelForm(forms.ModelForm): class Meta: model = models.UserInfo fields = "__all__" labels = { "username":"用户名" }def ab_mf_func(request): modelform_obj = MyModelForm() if request.method == "POST": modelform_obj = MyModelForm(request.POST,instance=User_obj) if modelform_obj.is_valid(): modelform_obj.save() # models.UserInfo.objects.create(...)/update(...) else: print(modelform_obj.errors) return render(request, "modelFormPage.html", locals())
-
热头条丨Django组件之form组件
Django组件之form组件一、form组件1 自动校验数据2 自动生成标签3 自动展示信息fromdjangoimportformsclassMyForm(forms Form
来源: 热头条丨Django组件之form组件
全球观察:索尼音乐在B站传了17万个视频 网友:当免费服务器了
当前时讯:比亚迪技术加持 创维汽车2022年总销量21916台 暴增255.72%
天天日报丨复兴号新动车元旦首秀:红白灰绿四色机身成“网红”车型
N95有效防护时间为4到6小时:和戴普通口罩效果有什么区别?
Django组件之Ajax请求
视焦点讯!RTX 4070 Ti完整规格、性能曝光:4090一半性能、一半的价格
新年快乐!今天遇到一个问题:3个鸡蛋5元,6个鸡蛋多少钱?
iPhone 15 mini重出江湖?苹果把这几个功能加上卖爆
世界热文:蒙脱石散为啥突然火了?医生提醒:不要乱用 小心便秘
今日快讯:关于使用boto3方式获取AWS-所有EC2-机型及属性时所遇到的结果返回不全的坑点及使用分布机制的解决方法
世界快讯:web项目开发---第三天
环球关注:1月4日发布!一加11官宣搭载双环式对磁扬声器:支持杜比全景声
世界讯息:新能源补贴正式终止!小鹏宣布:2023年各车型售价与补贴后一致
MAUI新生6.6-搜索栏SearchHandler
今日热搜:岚图汽车12月交付1729辆 大增14.7%!全年累计交付19409辆
每日焦点!得到跨年演讲2023
环球微速讯:《阿凡达2》成第100部内地票房破10亿电影:当年《阿凡达1》是第1部
Django模板层
今日看点:外观帅炸了!阿富汗首款国产跑车随风雪亮相喀布尔
《王者荣耀》盘古即将获得品质升级:上手难度大幅下降
每日短讯:跨年夜无人机被气球缠绕坠落人群 引发一阵惊呼
【世界热闻】从系统整体观思考系统构建
大年初一上映!《流浪地球2》微笑海报发布:主创全员出镜
2023全年油价调整时间表出炉:1月3日第一调 要涨
AcWing362. 区间
最新消息:你看过几场?2022年国内电影总票房超300亿
即时焦点:必囤:百草味年货坚果大礼包1370g/8袋仅49元
微速讯:特斯拉拼了:其他品牌车辆置换特斯拉 3.2万元功能免费用90天
全球首架国产大飞机C919新年首飞:验证飞行将达100小时
每日快看:全球最大第三方Android系统!基于Android 13的LineageOS 20正式发布
全球今头条!联想新款迷你主机M60Q官宣:厚度仅3.4厘米 可选12代i5
当前简讯:2023大事前瞻:杭州亚运会9月举办 首次纳入电竞比赛项目
热头条丨日本外卖小哥晒收入:月入合人民币5.5万元
观察:MYSQL安装教程及sqlyog初次使用
全球焦点!80秒看全球跨年烟火秀:用璀璨夜空迎接2023 你那能放烟花吗
【天天热闻】中国汽车保有量超3亿辆 千人拥有量达220辆 已成普通家庭消费品
搜索页上全是广告和推荐?用这插件一键去除
播报:新规即日起开始执行!手机预装App终于可以卸载了
苹果4GB内存为何能击败安卓12GB?历代iPhone内存容量公布:最大不过6GB
每日热议!铁路新规今日起施行:实名制儿童火车票将按照年龄购买 不看身高
焦点热讯:MAUI新生6.5-导航路由Navigation
每日资讯:Intel带着56核心再次发烧!新座驾降临 能插16条内存
环球头条:大批192号段诈骗电话出现!中国广电发布提醒:电商客服不会用192
热文:一项大奖的所有得主:都没有后代 为什么呢?
动态焦点:SpaceX预告2023年第一发:一箭114星!超越印度新纪录
要再见了!《魔兽世界》临时充值渠道将于1月1日0点正式关闭
詹姆斯生日夜狂砍47分!杜兰特盛赞其表现:神迹!
第119篇: JavaScript 类
天天速递!仅仅10年 中国在西部修了2.5万公里铁路
【天天聚看点】直播央视2023跨年晚会:明星阵容豪华、两大运动员登台
3999元 LG新款27英寸显示器开售:搭载4K Nano IPS Black屏
2423公里!曾经的中国西部最长铁路 开通60年了
焦点热门:妈妈给儿子读英语 发音如原声磁带!6岁孩子开口惊人
玩家吐槽《塞尔达传说:王国之泪》NS限定机太丑:希望不是真的
报道:屏幕碾压iPhone 14 Pro!红魔8 Pro系列20点开售:3999元起
今日快看!男子上公厕10分钟门自动打开:装了定时器 网友吐槽不合理
36个月流畅不卡顿!卢伟冰:Redmi 12C满足低预算人群核心需求
手工耿又出大作 自制小黄人悬空火炉 网友:有用、想要
世界微资讯!AcWing 1359. 洛谷P1457 城堡
LaTeX快速入门
【天天聚看点】早餐来一盒 伊利高端品牌金典纯牛奶24盒到手76元
世界报道:28年再温经典!周星驰电影《大话西游》元旦抖音全网独播
当前热讯:Python类的多态和多态性
当前观点:红绿灯倒计时覆盖量破百万 百度地图:全国3000县市只差1个没有
世界新消息丨“流氓软件”拜拜!手机预装App终于要能卸载了:新规明天执行
长城大气!魏牌官宣:国补取消后插混车型不涨价
马斯克疯狂省钱:断供厕纸、辞退保洁、退租办公室
Codeforces Good Bye 2022 CF 1770 A~E 题解
世界观天下!上调幅度2000到6000元!比亚迪宣布调整相关车型官方指导价
【环球热闻】今晚20点播出!央视跨年晚会阵容官宣:短道速滑运动员武大靖加盟
每日简讯:分布式排队叫号系统源码出售
口碑崩盘豆瓣评分跌至5.4!《三体》动画第五集上线你还追吗?
WPF 实现通知属性的N种方式
P3Depth: Monocular Depth Estimation with a Piecewise Planarity Prior
全球滚动:从USB存储设备启动树莓派
全球快看:满满维生素!可口可乐innocent果汁大促:三瓶券后不到15元
天天热门:长绒棉亲肤透气 浪莎男士中筒袜子5双21.55元
每日讯息!2023元旦档预售总票房破1亿元:《阿凡达2:水之道》第一
《王者荣耀》铠荣耀典藏皮肤今晚上线!三形态特效帅炸
头条:游戏火爆全球 海外营收过半!米哈游获评全国文化企业30强
快播:Unreal学习笔记1-打印输出
环球速读:史上财富损失第一人:马斯克财产缩水破人类记录
即时:官旗抄底:新疆大红乌苏啤酒500ml*12罐整箱59.9元
环球即时:沙特球队官宣C罗加盟 本人回应:是时候来亚洲分享经验了
一加11R外观泄露:双曲面屏、后置三摄
MySQL报错解决
当前观点:联想YOGA新款笔记本曝光:双屏显示、支持360度翻转
天天快资讯:0糖、0脂肪!Nevercoffee咖啡:10盒到手16.41元
天天快资讯丨兴泉铁路全线开通:8个老区终于坐上火车
【世界报资讯】电脑上没有“锤子大爆炸”:自己做一个!
环球快播:辽宁吉林多地现不明飞行物:外星飞船?还是韩国制造?
天天速讯:女子因上厕所未在工位被领导打:网友集体愤怒
天天日报丨知情人士:李子柒短期内或不考虑复出 业内看好重回顶流
速递!奥迪最帅量产电车!RS e-tron GT上市:146.88万秒杀保时捷
网友在苹果官方旗舰店买iPhone 13:取消订单却不给退款
快讯:三大件不再是重点 调查显示:84.5%消费者更看重汽车智能化
环球微动态丨ColorOS 13 2023年Q1适配计划出炉:10款机型喜提正式版
环球新动态:2022年总结与反思
全球热文:显卡清库存告一段落 价格已经到底:AMD、NVIDIA不会再便宜