from django.contrib import admin
from django.urls import path
from app01 import views urlpatterns = [
path('admin/', admin.site.urls),
path('test/',views.test) #测试form组件的路由
]

  

from django.shortcuts import render,HttpResponse
from django import forms class UserInfo(forms.Form): username = forms.CharField(
label='用户名',
initial='默认值', #设置默认值
#min_length=6, #最小长度为6
required=True, #不能为空
error_messages={ #自定义错误的提示信息
'required': '不能为空'
}
) password = forms.CharField(
label='密码',
widget=forms.widgets.PasswordInput(render_value=True) #普通输入框提交后会默认保留数据,但是密码不会,因此render_value=True可以强制保留
) def test(request):
if request.method == 'GET':
u_obj = UserInfo()
return render(request,'test.html',{'u_obj': u_obj})
else:
u_obj = UserInfo(request.POST) #标签的 name 值为类中的属性名(本例中分别为:username/password)
if u_obj.is_valid(): #校验用户提交的数据是否符合要求,如果全部校验成功则返回True,否则返回False
print(u_obj.cleaned_data) #校验成功之后的数据
return HttpResponse('检验通过')
else:
print(u_obj.errors) #校验失败后的错误信息
return render(request,'test.html',{'u_obj': u_obj}) #此时的u_obj对象含有刚才校验的数据,可以将错误信息传到前端进行提示

  

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>test</title>
<style>
.c1{
background-color: red;
}
</style>
</head>
<body>
{{ u_obj.errors }} {# 将错误信息展示在页面 #} {# 但是u_obj.errors表示所有的错误信息 #} <form action="" method="post" novalidate> {# 浏览器会默认帮我们提示 “此字段不能为空”,novalidate可以取消浏览器的这个默认的提示 #}
{% csrf_token %}
<div>
{{ u_obj.username.label }}:{{ u_obj.username }} {{ u_obj.username.errors.0 }} {# 每个字段有自己的错误,u_obj.username.errors.0显示自己的第一个错误 #}
</div>
<div>
{{ u_obj.password.label }}:{{ u_obj.password }}
</div> <div>
<input type="submit" value="提交">
</div>
</form> </body>
</html>

  

Django的form组件基本使用——简单校验的更多相关文章

  1. 【Django】Form组件

    目录 Form组件介绍 常用字段与插件 Form组件中所有内置字段 从数据库中获取数据 校验示例 检验手机号是否合法 方式一(基本操作) 方式二(自定义验证规则) 方式三(利用钩子) 验证密码一致性 ...

  2. Django之Form组件(一)

    Django之Form组件(一) Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 基本操作:字 ...

  3. python框架之Django(10)-Form组件

    介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来.与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入 ...

  4. 〖Python〗-- Django的Form组件

    [Django的Form组件] Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 Form类的使 ...

  5. Django之Form组件

    Django之Form组件 本节内容 基本使用 form中字段和插件 自定义验证规则 动态加载数据到form中 1. 基本使用 django中的Form组件有以下几个功能: 生成HTML标签 验证用户 ...

  6. Python之路【第二十一篇】:Django之Form组件

    Django之Form组件   Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 小试牛刀 1. ...

  7. 第十一篇:web之Django之Form组件

    Django之Form组件   Django之Form组件 本节内容 基本使用 form中字段和插件 自定义验证规则 动态加载数据到form中 1. 基本使用 django中的Form组件有以下几个功 ...

  8. python Django之Form组件

    python Django之Form组件 Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 小试 ...

  9. Django之Form组件验证

    今天来谈谈Django的Form组件操作 Django中的Form一般有两种功能: ·输入html ·验证用户输入 Form验证流程 ·定义规则(是一个类)    ·前端把数据提交过来 ·匹配规则 · ...

随机推荐

  1. 监控实战之Prometheus

    author:JevonWei 版权声明:原创作品 目录 一 背景 二 部署Prometheus Server Prometheus 主配置文件 targets 节点配置文件 rules 告警规则 运 ...

  2. 记intouch SMC local下驱动丢失问题解决

    最近项目中,维护发现Intouch 2014R2版本下,有一台上位机SMC下local安装的Dassdirect和dasmbtcp驱动都丢失了,无法查看.但不影响程序的正常使用,遂进行相应的寻求帮助, ...

  3. JBoss 4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)

    检测漏洞 工具 下载地址:https://github.com/joaomatosf/JavaDeserH2HC javac -cp .:commons-collections-3.2.1.jar E ...

  4. chanakya

    仅供个人娱乐 参考http://www.saulgoodman.cn/HA-Chanakya.html 靶机信息 https://www.vulnhub.com/entry/ha-chanakya,3 ...

  5. 卷积的等变性(equivariant) / 不变性(invariant)

    不变性:输入x发生变换,但是F之后的输出不变 \(F(x)=F [\)transform\((x)]\) 池化:近似不变性,当图像发生微小变化,最大池化的输出不变,还是一个池化范围内的max 等变性: ...

  6. tensorflow踩坑合集2. TF Serving & gRPC 踩坑

    这一章我们借着之前的NER的模型聊聊tensorflow serving,以及gRPC调用要注意的点.以下代码为了方便理解做了简化,完整代码详见Github-ChineseNER ,里面提供了训练好的 ...

  7. Mybatis学习笔记-缓存

    简介 什么是缓存 **将一次查询的结果暂存至内存,后续查询只需查询缓存** 为什么使用缓存 **减少与数据库的交互次数,减少系统开销,提高系统效率** 什么样的数据能使用缓存 **经常查询且不常修改的 ...

  8. IntelliJ IDEA 中为Maven 配置阿里云镜像源

    idea中查看位置,应该都是一样的这个位置 在此位置下新建一个.xml文件 内容如下: <?xml version="1.0" encoding="UTF-8&qu ...

  9. matlab快速入门

    matlab快速入门 1矩阵 生成矩阵 ​ % 直接法 a = [1,2,3;4,5,6;7,8,9]; % 冒号一维矩阵 a = 开始:步长:结束,步长为1可省略 b = 1:1:10; % 1,2 ...

  10. Linux 文件、目录与磁盘格式

    文件属性      连接数  文件持有者 文件所属群组 文件容量 文件最后修改时间 文件名(就那个..) 第一栏其中文件属性有10,第一个属性代表这个文件是目录.文件或链接文件: [d]目录 [-]文 ...