Django重新整理3
Forms组件
1.在models.py中我们建立一个新的表关系:
class UserInfo(models.Model):
user=models.CharField(max_length=32)
pwd=models.CharField(max_length=32)
email=models.CharField(max_length=32)
2.进行数据的迁移
3.路由和视图函数
4.
from app01.models import UserInfo
def reg(request):
if request.method == "POST":
form = UserForm(request.POST)
#校验数据
if form.is_valid():
print(form.cleaned_data)
UserInfo.objects.create(**form.cleaned_data)
return HttpResponse("OK")
else:
errors=form.errors
print(form.errors.get('__all__'))
if form.errors.get("__all__"):
g_errors = form.errors.get('__all__')[0]
return render(request,"reg.html",locals()) else:
form=UserForm()
return render(request,"reg.html",locals()) #在views中直接创建UserForm表
from django.forms import widgets class UserForm(forms.Form):
msg={"required":"该字段不能为空"}
user=forms.CharField(min_length=5,
label="用户名",
error_messages=msg,
widget=widgets.TextInput(attrs={"class":"form-control"})
)
pwd=forms.CharField(error_messages=msg,
label="密码",
min_length=5,
widget=widgets.PasswordInput(attrs={"class":"form-control"})
)
r_pwd = forms.CharField(error_messages=msg,
min_length=5,
label="确认密码",
widget=widgets.PasswordInput(attrs={"class": "form-control"})
)
email=forms.EmailField(error_messages={"invalid":"邮箱格式错误"},
label="邮箱",
widget=widgets.EmailInput(attrs={"class":"form-control"})
)
#定义钩子
def clean_user(self):
val=self.cleaned_data.get("user")
ret=UserInfo.objects.filter(user=val).first()
if not ret:
return val
else:
raise ValidationError("用户名已存在!") def clean_pwd(self):
val=self.cleaned_data.get("pwd")
if val.isdigit():
raise ValidationError("密码不能是纯数字!")
else:
return val
def clean(self):
pwd=self.cleaned_data.get("pwd")
r_pwd=self.cleaned_data.get("r_pwd") if pwd and r_pwd:
if pwd==r_pwd:
return self.cleaned_data
else:
raise ValidationError("两次密码不一致!")
else:
return self.cleaned_data
Django重新整理3的更多相关文章
- Django重新整理
1.母版的继承 #base<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset ...
- Django知识点整理
什么是web框架 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. web应用 访 ...
- django笔记整理
Django复习: MTV模型: manager启动服务→urls找到路径→(找到views视图函数或者做路由分发)→视图函数处理相关逻辑,返回一个模板或者是字符串: ---------------- ...
- Django重新整理4---ModelForm-set(批量处理数据)
1. #引用modelformset from django.forms.models import modelformset_factory #必须继承forms.ModelForm! class ...
- Django重新整理2
Auth认证: 1.分配路由和创建视图函数 2.在视图函数中引用Django为我们提供的用户认证组建Auth 3.直接进行判断: def login(request): if request.meth ...
- Django ORM整理
字段类型 # 自增长 Auto = models.AutoField() BigAuto = models.BigAutoField() # 二进制 Binary = models.BinaryFie ...
- Django(一) 安装使用基础
大纲 安装Django 1.创建Django工程 2.创建Django app 3.写一个简单的登录注册相应页面 4.获取用户请求信息并处理 5.前后端交互 6.Django 请求 生命周期 跳转到 ...
- python学习博客地址集合。。。
python学习博客地址集合... 老师讲课博客目录 http://www.bootcdn.cn/bootstrap/ bootstrap cdn在线地址 http://www.cnblogs. ...
- 老男孩老师的博客地址 - 转自devops1992
害怕他那天不让人看了,所以我就复制一份到我自己的博客里. http://www.bootcdn.cn/bootstrap/ bootstrap cdn在线地址 http://www.cnblogs. ...
随机推荐
- HtmlAgilityPack HTML操作类库的使用
HtmlAgilityPack是.NET下的一个开源的HTML解析类库.支持用XPath来解析HTML.命名空间:HtmlAgilityPack. 1.读取网络中html网页内容,获取网页中元素bod ...
- [转]oracle11g 修改字符集 修改为ZHS16GBK
转至:http://www.cnblogs.com/jay-xu33/p/5210098.html sqlplus /nolog conn /as sysdba shutdown immediate; ...
- 在 Java 的反射中,Class.forName 和 ClassLoader 的区别
1. 解释 在java中Class.forName()和ClassLoader都可以对类进行加载.ClassLoader就是遵循双亲委派模型最终调用启动类加载器的类加载器,实现的功能是“通过一个类的全 ...
- ComicEnhancerPro 系列教程
这个系列教程实在太长了,图又多,所以我不认为它适合发布在博客上.目前最新版采用CHM格式发布,就放在置顶随笔提供的网盘里,与ComicEnhancerPro在一起.
- Java 在本地开发环境部署多个 spring 项目
修改Tomcat 的 server.xml 文件 路径:C:\JAVA\apache_tomcat_8.5.11\conf\server.xml : 每个web项目的端口号不同,且存储的目录相同但是文 ...
- 总结一下vue里一些小技巧
官方里的我就不细说了,自个撸文档就成,下面是实践里常用的几个小技巧或者说是遇到的坑,若有错误望大家指正)1.当用a标签设置新窗口打开页面,设置url时,建议给href进行v-bind绑定,然后写相对路 ...
- ARC102D(构造)
ARC102D(构造) 构造一个图,使得\(n \le 20,m\le 60\),边从小的点连向大的点,并且从1到n的所有路径,长度与\([0, l-1]\)构成双射. 用二进制的思想--代码很鬼畜 ...
- uoj#422. 【集训队作业2018】小Z的礼物(MIn-Max容斥+插头dp)
题面 传送门 题解 好迷-- 很明显它让我们求的是\(Max(S)\),我们用\(Min-Max\)容斥,因为\(Min(S)\)是很好求的,只要用方案数除以总方案数算出概率,再求出倒数就是期望了 然 ...
- [51nod1220] 约数之和(杜教筛+莫比乌斯反演)
题面 传送门 题解 嗯--还是懒得写了--这里 //minamoto #include<bits/stdc++.h> #define R register #define IT map&l ...
- 牛客国庆集训day5 G 贵族用户 (模拟)
链接:https://www.nowcoder.com/acm/contest/205/G来源:牛客网 题目描述 终于活成了自己讨厌的样子. 充钱能让你变得更强. 在暖婊这个游戏里面,如果你充了x元钱 ...