form is_valid():执行顺序:

前面的注册与登录都写完了,但是心中一致有一个困惑,那就是   
if reg_form.is_valid():<wiz_code_mirror>

1
if reg_form.is_valid():

这段神奇的代码,怎么就帮我们完成了对用户输入内容的校验啦?让我们一探究竟。
1、首先    Ctrl+左键    点击进入 is_valid()函数查看源码
2、点击is_bound
就是在实例化的时候只要form_obj = RegForm(request.POST)括号里面只要有数据那么.is_bound永远True
3、点击进入self.errors()
4、点击进入self.full_clean()
5、点击进入ErrorDict


其实在这里就只是校验了        reg_form = RegForm(request.POST)        实例对象里面有没有值而已


记下来就是根据我们自定义的校验规则来做校验了!
然后在点击进入

当我们重写父类的clean()方法时
如何将两次输入密码不一致的信息传给模版页面啦?

转载于:https://www.cnblogs.com/pontoon/p/10217374.html

04,Django Form源码阅读相关推荐

  1. django源码阅读 manage.py文件

    Django源码阅读之manager.py文件阅读 我们知道,我们运行一个django项目的时候,需要进入项目的根目录,然后输入命令,python manage.py runserver,这样,我们就 ...

  2. Ubuntu 22.04环境下安装lxr源码阅读器详细过程

    Ubuntu 22.04环境下安装lxr源码阅读器详细过程 一.lxr介绍 二.依赖关系 三.安装过程 1.下载源码 2.执行检查 3.安装依赖 4.安装数据库和服务器 四.配置过程 1.主配置 2. ...

  3. TiDB 源码阅读系列文章(六)Select 语句概览

    在先前的 TiDB 源码阅读系列文章(四) 中,我们介绍了 Insert 语句,想必大家已经了解了 TiDB 是如何写入数据,本篇文章介绍一下 Select 语句是如何执行.相比 Insert,Sel ...

  4. 转-OpenJDK源码阅读导航跟编译

    OpenJDK源码阅读导航 OpenJDK源码阅读导航 博客分类: Virtual Machine HotSpot VM Java OpenJDK openjdk 这是链接帖.主体内容都在各链接中.  ...

  5. TiDB 源码阅读系列文章(十六)INSERT 语句详解

    在之前的一篇文章 <TiDB 源码阅读系列文章(四)INSERT 语句概览> 中,我们已经介绍了 INSERT 语句的大体流程.为什么需要为 INSERT 单独再写一篇?因为在 TiDB ...

  6. zookeeper 源码阅读(2)

    接着zookeeper 源码阅读(1) Zookeeper服务器的启动,大致可以分为以下五个步骤 1. 配置文件解析. 2. 初始化数据管理器. 3. 初始化网络I/O管理器. 4. 数据恢复. 5. ...

  7. zookeeper 源码阅读(1)

    对于源码阅读的几点建议和方式: 1.尽量本地调试可以跑起来代码 2.debug 日志梳理代码执行流程,这样起到事半功倍的作用 3.干巴巴看代码毫无意义,难度极大 zk 是分别有c语言编写的和java ...

  8. WSL下源码阅读工具LXR(Linux Cross-Referencer)的配置

    题外话:不知道是不是太久没有配置/部署软件的原因,上手配置LXR给我的体感比较不好,因此写下此博客记录该工具配置的过程 项目官网:zh/LXR 项目 参考教程1:史上最详细的LXR安装介绍_mosen ...

  9. 【转载】ubuntu下linux内核源码阅读工具和调试方法总结

    http://blog.chinaunix.net/space.php?uid=20940095&do=blog&cuid=2377369 一 linux内核源码阅读工具 window ...

  10. gh-ost大表DDL工具源码阅读

    gh-ost大表DDL工具源码阅读 最终目的 开发环境与测试数据库准备 一个简单的ddl案例 debug分析程序执行过程 vscode debug配置 变量介绍 核心处理逻辑 分析我的需求 最终目的 ...

最新文章

  1. opengl 贴图坐标控制_材质贴图正确打开方式
  2. 154 Find Minimum in Rotated Sorted Array 2
  3. Day9:yield的表达式形式、面向过程编程(grep -rl 'root' /etc)
  4. “数据驱动、智能引领”,打造未来智能小镇“样板间”
  5. java8 stream 分组_Java 8 中 Map 骚操作之 merge() 的用法
  6. 工程之道 | CPU推理性能提高数十倍,MegEngine计算图、MatMul优化解析
  7. 对spinner小结
  8. libz.so.1: cannot open shared object file: No such file or directory
  9. linux 防火墙 80端口,Linux配置防火墙,开启80端口、3306端口
  10. C++实现PCA变换
  11. 27 构造连续的ICMP数据包
  12. Java中数据库模糊查询写法
  13. html左侧浮动广告代码,Html+CSS浮动的广告条实现分解
  14. [Pytorch系列-33]:数据集 - torchvision与CIFAR10/CIFAR100详解
  15. 认识 Arduino 开发板
  16. 【前沿技术】在安全且可靠的区块链基础设施中运行业务条线应用
  17. SecureCRT 多个会话显示在同一窗口
  18. 5 JMeter断言-Jmeter响应中出现乱码时
  19. ORACLE 启动报错 ORA-00600: internal error code, arguments
  20. shell 脚本获取接口返回值

热门文章

  1. [4/10]指定结进程名称的命令taskkill.exe
  2. JavaScript核心语法学习部分(七)
  3. D-News|扎克伯格下月发布人工智能管家,美放宽无人机商用飞行标准
  4. 在设计DJANGO用户更改密码时,出现NoReverseMatch at /account/password-change/这种妖精如何办?...
  5. linux 搭建LAMP平台手册
  6. 从零开始--系统深入学习android(实践-让我们开始写代码-Android框架学习-7.App Widgets)...
  7. wlst启动weblogic
  8. Mac利用PD虚拟机安装Centos7
  9. [译] libvirt 虚机的生命周期 (Libvirt Virtual Machine Lifecycle)
  10. flash与javacript:图片交互