Django的form组件基本使用——简单校验
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组件基本使用——简单校验的更多相关文章
- 【Django】Form组件
目录 Form组件介绍 常用字段与插件 Form组件中所有内置字段 从数据库中获取数据 校验示例 检验手机号是否合法 方式一(基本操作) 方式二(自定义验证规则) 方式三(利用钩子) 验证密码一致性 ...
- Django之Form组件(一)
Django之Form组件(一) Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 基本操作:字 ...
- python框架之Django(10)-Form组件
介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来.与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入 ...
- 〖Python〗-- Django的Form组件
[Django的Form组件] Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 Form类的使 ...
- Django之Form组件
Django之Form组件 本节内容 基本使用 form中字段和插件 自定义验证规则 动态加载数据到form中 1. 基本使用 django中的Form组件有以下几个功能: 生成HTML标签 验证用户 ...
- Python之路【第二十一篇】:Django之Form组件
Django之Form组件 Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 小试牛刀 1. ...
- 第十一篇:web之Django之Form组件
Django之Form组件 Django之Form组件 本节内容 基本使用 form中字段和插件 自定义验证规则 动态加载数据到form中 1. 基本使用 django中的Form组件有以下几个功 ...
- python Django之Form组件
python Django之Form组件 Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 小试 ...
- Django之Form组件验证
今天来谈谈Django的Form组件操作 Django中的Form一般有两种功能: ·输入html ·验证用户输入 Form验证流程 ·定义规则(是一个类) ·前端把数据提交过来 ·匹配规则 · ...
随机推荐
- 阿里云RocketMQ定时/延迟消息队列实现
新的阅读体验:http://www.zhouhong.icu/post/157 一.业务需求 需要实现一个提前二十分钟通知用户去做某件事的一个业务,拿到这个业务首先想到的最简单得方法就是使用Redis ...
- CVPR2021 | Transformer用于End-to-End视频实例分割
论文:End-to-End Video Instance Segmentation with Transformers 获取:在CV技术指南后台回复关键字"0005"获取该论文 ...
- 使用html2canvas.js将HTML生成图片
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Hotel 旅馆, 线段树查询,合并
C. Hotel 旅馆 内存限制:256 MiB 时间限制:1000 ms 标准输入输出 题目类型:传统 评测方式:文本比较 题目描述 OIER最近的旅游计划,是到长春净月潭,享受那里的湖光山色, ...
- 针对不同场景的Python合并多个Excel方法
大家好,我是辰哥~ 在辰哥看来,技术能够减少繁琐工作带来的枯燥,技术+实际=方便.最近辰哥也是在弄excel文件的时候发现手动去整理有点繁琐枯燥,想着技术可以代替我去处理这部分繁琐的工作那何乐而不为呢 ...
- C++ 二进制文件 读 写文件
1 #include <iostream> 2 #include <string> 3 #include<fstream> 4 using namespace st ...
- (纯js)如何不刷新网页就能链接新的js文件
如何不刷新网页就能链接新的js文件,其实在HTML语言中已经有相关的函数了,就是再添加一个<script src=.....></script>. 函数叫document.bo ...
- Lock(锁)
Lock(锁) 从JDK 5.0开始,Java提供了更加强大的线程同步机制----通过显示定义同步锁对象来实现同步.同步锁使用Lock对象充当. java.util.concurrent.locks. ...
- Docker部署Zookeeper部署集群实践(2)
注:本文使用docker for windows模拟构建zookeeper集群,在linux系统下,可使用同样的docker命令构建 参考url:https://github.com/31z4/zoo ...
- 【笔记】初探KNN算法(1)
KNN算法(1) 全称是K Nearest Neighbors k近邻算法: 思想简单 需要的数学知识很少 效果不错 可以解释机器学习算法使用过程中的很多细节问题 更加完整的刻画机器学习应用的流程 其 ...