文档章节

python django form 正则表达式验证

原谅我的突然
 原谅我的突然
发布于 2016/01/02 23:02
字数 274
阅读 36
收藏 0
点赞 0
评论 0

这里讲的是django怎样进行正则表达式验证。
django的form里面可以对输入进行一些基本的验证,但是如果要进行正则表达式验证的话就要对form进行clean扩展了。
下面是一个例子:

import re//这个是引用对应的正则验证包

class UserForm(BaseModelForm):
    phone = forms.CharField(label='手机号码',help_text='(必填)例:13888888888/0771-3236558', required=True,max_length=30,min_length=11)
    email = forms.EmailField(label='邮箱', help_text='(必填)',required=True,error_messages={'required':"请输入邮箱地址"})
    class Meta:
        model = User
        fields = ['phone', 'email']
    def clean_phone(self)://clearn_字段名称
          phone = self.cleaned_data['phone']//获取对应的字段
          pattern=re.compile(r"^((\d{3,4}-)?\d{7,8})$|(1[3-9][0-9]{9})")//设置正则验证
          if pattern.match(phone)://如果验证失败的话就会返回none
             pass
          else:
              msg=u"请输入正确的机机或座机号码!"
              self._errors["phone"] = self.error_class([msg])//设置输入框的告警文字
          self.phone=phone 
          return phone


上面的例子可以看出:email可以通过EmailField来进行验证,但是手机却不可以,所以我们对手机进行了正则验证


© 著作权归作者所有

共有 人打赏支持
原谅我的突然
粉丝 1
博文 12
码字总数 1527
作品 0
闵行
程序员
django 1.8 官方文档翻译: 1-2-3 编写你的第一个Django应用,第3部分

编写你的第一个 Django 程序 第3部分 本教程上接 教程 第2部分 。我们将继续 开发 Web-poll 应用并且专注在创建公共界面 – “视图 (views )”。 哲理 在 Django 应用程序中,视图是一“类...

apachecn_飞龙 ⋅ 2015/08/29 ⋅ 0

Django学习笔记----快速入门

上一篇>Django学习笔记----环境搭建基于Windows 开始第一个Django项目 进入Cmder, 进入想创建工程的文件夹, 键入 注意不能选择这样的项目名称, 会于Python已有的模块名称冲突 生成成功后, 可...

fesoncn ⋅ 2017/12/27 ⋅ 0

超详细Python正则表达式操作指南(re使用),一

Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。Python 1.5之前版本则是通过 regex 模块提供 Emecs 风格的模式。Emacs 风格模式可读性稍差些,而且功能也不强,因此编...

Python雁横 ⋅ 05/26 ⋅ 0

Django快速安装以及创建我的第一个Django项目

特别说明:本文是针对Django 1.11和Python 3或更高版本编写的。如果Django版本不匹配,可跳过该文章,或者将您的Django更新到最新版本。 一、Django安装步骤 1、安装版本: Django1.11.1 Dja...

無言地对白 ⋅ 2017/05/22 ⋅ 0

【第一天】django快速开发——环境部署、表单、数据库操作、模板、文件学习

安装django 1、安装 setuptools yum install python-setuptools 2、完成之后,就可以使用 easy_install 命令安装 django easy_install django 注意:django对于pip和setuptools的版本有严格要...

老张的技术 ⋅ 06/03 ⋅ 0

【第一天】django快速开发——环境部署、表单、数据库操作、模板、文件学习

安装django 1、安装 setuptools yum install python-setuptools 2、完成之后,就可以使用 easy_install 命令安装 django easy_install django 注意:django对于pip和setuptools的版本有严格要...

老张的技术 ⋅ 06/03 ⋅ 0

Python学习资料篇

Python学习资料网络上比较多,看到好的资源,不及时记录下来,下次就找不到了,我把知乎上好的回到收藏汇总到这里,以便自己随时查看,包括Python入门书籍,网站,项目,官方文档,下载资源等...

BjarneCpp ⋅ 2017/12/03 ⋅ 0

Python处理正则表达式超时的办法

title: Python处理正则表达式超时的办法 tags: [python3, 正则表达式超时, re模块] date: 2018-04-27 21:40:21 categories: Python keywords: python3, 正则表达式, re模块, linux信号 最近在...

PigPeek ⋅ 04/27 ⋅ 0

Python是如何怼翻其他编程语言而窜上宝座的

来PK啊! 谁怕谁啊! 在过去的两年间,Python一路高歌猛进,成功窜上“最火编程语言”的宝座。 更可怕的是,这把火不仅仅是在程序员的圈子里越烧越旺,甚至还烧到了程序员的圈子外,从小学生...

超级数学建模 ⋅ 04/18 ⋅ 0

django 加Oracle 出问题了ORA-02000 无法建表?

django 2.0 python 3.6 oracle11.2 cx_oracle6.0 show problem C:UserstangPycharmProjectsuntitled2>python manage.py migrate Operations to perform: Apply all migrations: admin, auth,......

aisession ⋅ 05/07 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Confluence 6 从其他备份中恢复数据

一般来说,Confluence 数据库可以从 Administration Console 或者 Confluence Setup Wizard 中进行恢复。 如果你在恢复压缩的 XML 备份的时候遇到了问题,你还是可以对整个站点进行恢复的,如...

honeymose ⋅ 8分钟前 ⋅ 0

myeclipse10 快速搭建spring boot开发环境(入门)

1.创建一个maven的web项目 注意上面标红的部分记得选上 2.创建的maven目录结构,有缺失的目录可以自己建立目录补充 补充后 这时候一个maven的web项目创建完成 3.配置pom.xml配置文件 <proje...

小海bug ⋅ 21分钟前 ⋅ 0

nginx.conf

=========================================================================== nginx.conf =========================================================================== user nobody; #......

A__17 ⋅ 24分钟前 ⋅ 0

645. Set Mismatch - LeetCode

Question 645. Set Mismatch Solution 思路: 遍历每个数字,然后将其应该出现的位置上的数字变为其相反数,这样如果我们再变为其相反数之前已经成负数了,说明该数字是重复数,将其将入结果r...

yysue ⋅ 37分钟前 ⋅ 0

Python这么强?红包杀手、消息撤回也可以无视,手机App辅助!

论述 标题也许有点不好理解,其实就是一款利用Python实现的可以监控微信APP内的红包与消息撤回的助手。不得不说,这确实是一款大家钟意的神器。 消息撤回是一件很让人恶心的事,毕竟人都是有...

Python燕大侠 ⋅ 53分钟前 ⋅ 0

压缩打包介绍、gzip压缩工具、bzip2压缩工具、xz压缩工具

压缩打包介绍 压缩的好处不仅能节省磁盘空间而且在传输的时候节省传输时间和网络带宽 windows系统下文件带有 .rar .zip .7z 后缀的就是压缩文件 linux系统下则是 .zip, .gz, .bz2, .xz, ...

黄昏残影 ⋅ 58分钟前 ⋅ 0

观察者模式

1.利用java原生类进行操作 package observer;import java.util.Observable;import java.util.Observer;/** * @author shadow * @Date 2016年8月12日下午7:29:31 * @Fun 观察目标 **/......

Cobbage ⋅ 今天 ⋅ 0

Ubuntu打印服务器配置

参考:https://blog.csdn.net/gsls200808/article/details/50950586 https://blog.csdn.net/jiay2/article/details/80252369 https://wiki.gentoo.org/wiki/HPLIP 由于媳妇儿要大量打印资料,......

大熊猫 ⋅ 今天 ⋅ 0

面试的角度诠释Java工程师(二)

原文出处: locality 续言: 相信每一位简书的作者,都会有我这样的思考:怎么写好一篇文章?或者怎么写好一篇技术类的文章?我就先说说我的感悟吧,写文章其实和写程序是一样的。为什么我会...

颖伙虫 ⋅ 今天 ⋅ 0

github中SSH的Key

https://help.github.com/articles/connecting-to-github-with-ssh/ https://help.github.com/articles/testing-your-ssh-connection/ https://help.github.com/articles/adding-a-new-ssh-k......

whoisliang ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部