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.errorsprint(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 widgetsclass 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 valelse: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_dataelse:raise ValidationError("两次密码不一致!")else:return self.cleaned_data

转载于:https://www.cnblogs.com/lzqrkn/p/9984752.html

Django重新整理3相关推荐

  1. Django重新整理

    1.母版的继承 #base<!DOCTYPE html> <html lang="zh-CN"> <head><meta charset= ...

  2. Django框架整理

    Django框架 Django是一个功能强大的web框架. 博客中缺少知识流程解释图,后期我会一一补充回来,因为博客园插图片比较麻烦,请谅解. 前言:框架模式简介 1.MVC和MTV框架模式:分层级进 ...

  3. Django安装使用基础

    安装Django pip3 install django windows安装后,添加Django安装路径的环境变量. 1.创建Django工程 django-admin startproject [工 ...

  4. 从零开始的Django框架入门到实战教程(内含实战实例) - 08 用户界面(内含图形验证码的生成和校验详解)(学习笔记)

    目录 0. 既有工作 1. 生成图片 2. 校验 3. 结果展示   Django是目前比较火爆的框架,之前有在知乎刷到,很多毕业生进入大厂实习后因为不会git和Django框架3天就被踢掉了,因为他 ...

  5. 从零开始的Django框架入门到实战教程(内含实战实例) - 01 创建项目与app、加入静态文件、模板语法介绍(学习笔记)

    目录 1. 安装Django 2. 创建项目(startproject) 2.1 创建项目 2.2 介绍项目文件 2.3 APP(startapp) 3. 走通流程(urls, views, runs ...

  6. python官方网站地址-一些python牛人地址分享

    http://www.bootcdn.cn/bootstrap/ bootstrap cdn在线地址 1. http://www.cnblogs.com/linhaifeng/articles/653 ...

  7. 老男孩老师的博客地址 - 转自devops1992

    害怕他那天不让人看了,所以我就复制一份到我自己的博客里. http://www.bootcdn.cn/bootstrap/  bootstrap cdn在线地址 http://www.cnblogs. ...

  8. 老男孩老师的博客地址

    http://www.bootcdn.cn/bootstrap/  bootstrap cdn在线地址 http://www.cnblogs.com/vamei/archive/2012/09/13/ ...

  9. django render_2020年最新Django经典面试问题与答案汇总(下)大江狗整理

    终于我们来到Django经典面试问题与答案系列的终章了,在本章我们将分享最后10个常用有用的知识点,也是面试时常问的经典问题.如果你还没有读过本系列前两篇文章的,可以点击如下链接阅读. 2020年最新 ...

  10. django+nginx+uwsgi项目部署文档整理

    django+nginx+uwsgi项目部署文档整理 参考文章:https://blog.csdn.net/qq_42314550/article/details/81805328 一.python安 ...

最新文章

  1. 简洁版利用Python写俄罗斯方块游戏
  2. 2011百度之星初赛B圆环
  3. android语音播放工具类,Android开发之MediaPlayer多媒体(音频,视频)播放工具类
  4. 计算机视觉与深度学习 | 基于Matlab双目视觉之深度估计(视频中人到相机的距离)(附源代码)
  5. JavaJDK中的命令行工具
  6. mysql编译卡主_mysql 编译安装以及主从设定
  7. Effective Java(一)———— 代替构造器和Setter的构建器模式
  8. 图神经网络(GNN)教程 – 用 PyTorch 和 PyTorch Geometric 实现 Graph Neural Networks
  9. 2021年中国仪表球轴承市场趋势报告、技术动态创新及2027年市场预测
  10. 重新启用ClustrMaps记数
  11. Java变量的默认值和初始化
  12. 整合DZ .net论坛与.net整合。
  13. 2022年11月编程语言流行度排名
  14. 事后诸葛亮项目总结会议
  15. python的contour怎么画虚线_Python+Matplotlib画contour图
  16. 网站使用手机相机_孩子拿手机是在上课,还是玩游戏、看不良网站?4招查看使用记录...
  17. IWDG和WWDG分析
  18. idea 改写 插入_如何在Word 2013中控制插入/改写模式
  19. docker——Ubuntu镜像操作和apache web容器操作小实训
  20. 用禅宗理解、软件开发的境界

热门文章

  1. Objective-C中的单例模式
  2. XTU 2016上学期《程序设计实践》练习-1 题解
  3. Oracle数户库、表导入导出
  4. Xcode12 “PushKit apps that use VoIP push must link either CallKit or IncomingCallNotifications
  5. flask_loginer
  6. js 操作字符串方法记录
  7. WampServer服务中MySQL无法正常启动解决方案
  8. windows 下安装 mysql
  9. 怎样获取用户的真实需求
  10. Hadoop 文本分类 终于跑通了