Django之Form验证
view.py 配置
from django import forms
from django.forms import fields
# Create your views here. class f1form(forms.Form):
user = fields.CharField(max_length=10,min_length=5,required=True,error_messages={'required':'不能为空','max_length':'太长了'}) #required不能为空
pwd = fields.CharField(max_length=9,min_length=6,required=True)
age = fields.IntegerField(required=True,error_messages={'required':'不能为空','invalid':'年龄格式错误'}) #invalid所有格式错误可以用这个
email = fields.EmailField(required=True,min_length=6,error_messages={'required':'不能为空','invalid':'邮箱格式错误'})
#user pwd age email 需要跟from表单里面的name 值一致 def f1(request):
if request.method == "GET":
return render(request,'f1.html')
elif request.method == "POST":
# u = request.POST.get('user')
# p = request.POST.get('pwd')
# e = request.POST.get('email')
# a = request.POST.get('age')
# print(u,p,e,a ) f = f1form(request.POST) #拿到上面的class 然后把post 里面传递进去进行验证
v = f.is_valid() #表示验证中
if v: #全部验证成功
print("验证成功",f.cleaned_data) #打印用户提交的数据,是一个字典数据
return redirect('http://www.xunlei.tv')
else:
print("验证失败",f.errors) #打印用户所有的错误数据
return render(request,'f1.html',{'f':f})
html 配置
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form id="fm" action="f1.html" method="POST">
{{ f.errors }}
<input type="text" name="user">{{ f.errors.user.0}} </br>
<input type="text" name="pwd">{{ f.errors.pwd.0 }} </br>
<input type="text" name="email">{{ f.errors.email.0 }} </br>
<input type="text" name="age">{{ f.errors.age.0 }} </br>
<input type="submit">
<input type="button" value="ajax提交" onclick="aj()">
</form> <script src="/static/jquery-3.3.1.min.js"></script>
<script>
function aj() {
$.ajax({
url:'/f1.html',
type:'POST',
data:$('#fm').serialize(),
success:function(arg) {
alert(arg);
}
})
}
</script>
</body>
</html>
Django之Form验证的更多相关文章
- Django的Form验证(2)
Django的Form验证(2) Form的含义及作用: 用于验证用户请求数据合法性的一个组件(校验数据的合法性) Django的Form实现步骤: 创建一个验证用户请求的模板 from django ...
- Django的Form验证
Django的Form验证 Form验证:Form提交Form表单数据验证 针对Form提交的数据进行验证 创建模板 class loginForm() 请求提交给模板,创建对象 obj=loginF ...
- Django中Form验证
Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 一,Form验证 第一种操作:主要是这三个函数 ...
- django 使用form验证用户名和密码
form验证可以减少查询数据库,所以代码先预先验证,有问题可以返回给前端显示 1.在users文件夹下新建forms.py文件,用来验证用户名和密码是否为空,密码长度是否大于6 # -*- codin ...
- django的form验证机制
今天遇到了一个奇怪的问题,django中formview一直返回200,但是却没有执行form_valid方法,然后在其中加了一个form_invalid方法: class StudentRegist ...
- Python Django的分页,Form验证,中间件
本节内容 Django的分页 Form 中间件 1 Django 分页 1.1 Django自带的分页 1.首先来看下我的测试数据环境 ############ models.py ######### ...
- Django form验证
# 模版 class LoginForm(forms.Form): # 模版中的元素 user = forms.CharField(min_length=6,error_messages={" ...
- [py][mx]django form验证-给db减压
django form认证-解压db压力 一般系统都需要前后端都验证 前端验证容器逃逸破解,如通过js console口去发 试想如果后端只有db验证,那么前端无论发什么后端都查询一次db,对db压力 ...
- Django 博客项目02 Form验证+ 上传头像(预览)+Ajax用户注册
头像预览 $("#avatar_file").change(function(){ // 获取上传的文件对象 var file=$(this)[0].files[0]; // 读取 ...
随机推荐
- 如何处理Excel空行问题
在操作excel的时候, 可能会出现很多的无效数据行. 下面是一个我的简单处理方式 public static bool DataSetToExcel(DataSet dataSet, string ...
- C语言题库----指针
1.如果f是一个函数,请说明 f() 和f的意思. f是函数的地址,f()是函数 2.怎样理解数组的下标运算? 先偏移,后取址. 3.int *p,*q; int a[]={10,20,30,40}; ...
- Django学习笔记之视图高级-HTTP请求与响应
Django限制请求method 常用的请求method GET请求 GET请求一般用来向服务器索取数据,但不会向服务器提交数据,不会对服务器的状态进行更改.比如向服务器获取某篇文章的详情. POST ...
- 05-树8 File Transfer (25 分)
We have a network of computers and a list of bi-directional connections. Each of these connections a ...
- 修改Docker默认的网段
背景 一同事在研究他的安全大业,需要在AWS服务器上部署他的秘密武器,秘密武器通过Docker来部署:在部署前可以通过跳板机的内外网ssh登录上这台服务器:部署后只能通过外网ssh登录这台服务器... ...
- sqlserver数据库不能重命名报错5030——我的一点小思考
在学习asp.net的时候使用mssql‘经常会出现这种错误,数据库不能重名名5030的错误,其实很简单原因就是有应用程序正在占用这个连接,使用这样一行命令就可以查询出正在占用的连接 use mast ...
- Python 3 教程
http://www.runoob.com/python3/python3-tutorial.html https://www.jianshu.com/p/f1332c58ca86
- C# .NET 实体类转Dictionary
-- System.Reflection.PropertyInfo[] cfgItemProperties = cfgItem.GetType().GetProperties(System.Refle ...
- v4l2框架分析
参考:https://www.cnblogs.com/fengong/p/4424823.html http://www.cnblogs.com/fengong/p/4424895.html 一 ...
- 升级GCC以支持C++11
本文主要介绍在Linux系统下,如何升级GCC以支持C++11.目前来看GCC是对C++11支持程度最高最多的编译器,但需要GCC4.8及以上版本. 本文使用操作系统:Centos 6.4 Desk ...