博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
form 组件
阅读量:5140 次
发布时间:2019-06-13

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

Form组件

- 对用户请求的验证

- AJax
- Form
- 生成HTML代码

a. 创建一个类

b. 类中创建字段(包含正则表达式)
c. GET
obj = Fr()
obj.user = > 自动生成HTML
d. POST
obj = Fr(request.POST)
if obj.is_valid():
obj.cleaned_data
else:
obj.errors
return .... obj

实例:

  

1 from django.shortcuts import render 2  3 # Create your views here. 4 #1> 导入相应的模块 5 from django import forms 6 from django.forms import fields 7  8 #2》 定义好类 里面的属性应是是name的值 并且 设定好限制 和错误信息  注意所有的格 9 #式错误都应该invalid 字段来设置相应的错误10 class Form_f1(forms.Form):11     user = fields.CharField(max_length=5,min_length=2,required=True,12                             error_messages={
'max_length':'最大值为5',13 'min_length':'最小值为2',14 'required':'这里为必填',15 'invalid': '格式错误'16 }17 )18 age = fields.IntegerField(max_value=100,min_value= 0,required=True,19 error_messages={20 'max_value':'最大值为100',21 'min_value':'最小值为0',22 'required':'不能为空',23 'invalid': '格式错误'24 }25 )26 email= fields.EmailField(required=True,27 error_messages={28 'required':'不能为空',29 'invalid':'格式错误'30 }31 )32 #url处理方法33 def from_f1(request):34 if request.method == 'GET':35 obj = Form_f1() #传实例的对象到前端可以 .属性 , 自动生成name为属性的input标签36 return render(request,'form_f1.html',{
'obj':obj})37 elif request.method == 'POST':38 #实例化出来的时候把post传过来的数当参数统一传进去39 obj = Form_f1(request.POST)40 #验证是否成功41 if obj.is_valid():42 #获取验证成功的字段信息43 print(obj.cleaned_data)44 else:45 #获取验证失败的错误信息46 print(obj.errors)47 return render(request,'form_f1.html',{
'obj':obj})

html页面书写:

1  2  3  4     
5 表单验证及错识信息 6 7 8
9 {
# obj.user是get的时候传过来的#}10

{

{ obj.user }} {
{ obj.errors.user.0 }}

11

{

{ obj.age }}{
{ obj.errors.age.0}}

12

{

{ obj.email }}{
{ obj.errors.email.0 }}

13

14 15
16 17 18

注意:form表单里添加novalidate 可以阻止浏览器报错 而显示我们自已设定的报错信息

小技巧 : 我们在验证的时候可以直接request.POST把用户提交的数据在实例化的时候传进去做验证

    我们可以在实例化的时候传一个字典来设定相应key键的默认值   例: obj =  UserForm({'username':'小王','age' = 25})

转载于:https://www.cnblogs.com/qq769080870/p/8920365.html

你可能感兴趣的文章
gevent协程
查看>>
U盘启动-系统预维护
查看>>
PyCharm中的Console自动换行
查看>>
Apache启动是出现the requested operation has failed
查看>>
页面后退清空缓存
查看>>
牛客(8)跳台阶
查看>>
oc-UITextView占位文字及占位文字颜色扩展(可在xib中直接使用)
查看>>
转载:《TypeScript 中文入门教程》 8、函数
查看>>
流控制、FlowControl
查看>>
【Javascript】IE8兼容 背景图片与a标签的onclick事件
查看>>
asp.net 发送邮件代码
查看>>
commons-lang包中我们常用的类的作用
查看>>
会计基础模拟试题三
查看>>
APIO2018酱油记
查看>>
图片等比例缩放
查看>>
第四章(下)
查看>>
抓住本质问题:读《戒嗔的白粥馆》 有感
查看>>
Delphi - SPcomm 控件使用
查看>>
Sublime Text2配置python环境
查看>>
单机ZooKeeper配置
查看>>