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验证流程 ·定义规则(是一个类) ·前端把数据提交过来 ·匹配规则 · ...
随机推荐
- Winform中生成自动控件
场景: 前几天项目需要模拟数据,但是实际设备还没有接上,就自己用Winform搭建了一个数据模拟器,生成数据给平台.这里又一个需求,就是从数据库中找出设备,然后自动生成控件,勾选就表示开启该设备,能上 ...
- DC-4 靶机渗透测试
DC-4 渗透测试 冲冲冲,努力学习 .掌握 hydra ,nc反弹shell 记住你要干嘛, 找地方上传shell(大多以后台登录为切入点,再反弹shell),shell提权到root 操作机:ka ...
- RHCE_DAY07
文件共享服务FTP介绍 FTP(File Transfet Protocol):文件传输协议 FTP是一种在互联网中基于TCP协议端到端的数据传输协议 基于C/S架构,默认使用20.21号端口 端口2 ...
- HCIA-物理层
OSI七层模型 应-->表-->会-->传-->网-->数-->物理层 TCP/IP四层模型 两个主导协议 -->工业标准 应-->传-->网-- ...
- 基于 Clusternet 与 OCM 打造新一代开放的多集群管理平台
背景 随着 5G.物联网设备的爆炸性增长以及智能终端不断增强的计算能力,带来了前所未有的数据量,传统的中心集中式计算捉襟见肘."新基建"战略的实施,工业互联网.车联网/自动驾驶.智 ...
- Redmine Notes
Mandatory authenticaion: login as Administrator, Settings -> Authentication -> Check "Aut ...
- Golang语言系列-02-常用数据类型
Go语言常用数据类型 Go 语言中有丰富的数据类型,除了基本的整型.浮点型.布尔型.字符串.byte/rune 之外, 还有数组.切片.函数.map.通道(channel).结构体等. Go语言的基本 ...
- kubernetes/k8s CNI分析-容器网络接口分析
关联博客:kubernetes/k8s CSI分析-容器存储接口分析 kubernetes/k8s CRI分析-容器运行时接口分析 概述 kubernetes的设计初衷是支持可插拔架构,从而利于扩展k ...
- python初始化定义空变量-小记
python初始化定义空变量 数值 digital_value = 0 字符串 str_value = "" 列表 list_value = [] 字典 ditc_value = ...
- SQL 练习16
按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩 SELECT * from SC LEFT JOIN (SELECT sid,AVG(score) 平均成绩 from SC GROUP B ...