文档章节

python django form 正则表达式验证

原谅我的突然
 原谅我的突然
发布于 2016/01/02 23:02
字数 274
阅读 45
收藏 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
博文 13
码字总数 1527
作品 0
闵行
程序员
七日Python之路--第十二天(Django Web 开发指南)

《Django Web 开发指南》。貌似使用Django1.0版本,基本内容差不多,细读无妨。地址:http://www.jb51.net/books/76079.html (一)第一部分 入门 (1)内置数字工厂函数 int(12.34)会创建一...

明天以后
2014/08/09
0
0
Django Book 2.0 笔记——View

“D”不发音 文中所有交互的部分都是在 python manage.py shell 下执行的, MTV 模式: 将数据驱动的 web 应用按数据存取逻辑、表现逻辑和业务逻辑划分结构的一种概念被称为 Model-View-Con...

lionets
2014/03/31
0
0
Django之路——3 Django的路由层

django不得不说是个很强大的框架,当前端给了我们一堆网页的时候,我们在考虑怎么去让这些页面与调用视图的函数配对的时候,而django则给我们提供了强大路由分发功能,让我们不在花时间浪费在...

袁勇i
06/23
0
0
基于Linux环境的Web.py框架介绍

前言 客户端和Web服务器的交互过程可以概括为:Web服务器接收客户端的请求后,由Web应用服务器对浏览器的请求进行处理,将生成的响应传递给Web服务器,再由Web服务器返回给客户端。为了简化W...

元宵大师
07/27
0
0
【译】自己动手写Django app,第三部分【完】

原文地址:https://docs.djangoproject.com/en/1.4/intro/tutorial03/ 这个教程是从教程2留下的地方开始的。我们继续这个基于网络调查应用程序并且将关注与创建一个公共接口——“view”。 ...

davidxp
2013/02/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

流量劫持是如何产生的?

流量劫持,这种古老的攻击沉寂了一段时间后,最近又开始闹的沸沸扬扬。众多知名品牌的路由器相继爆出存在安全漏洞,引来国内媒体纷纷报道。只要用户没改默认密码,打开一个网页甚至帖子,路由...

谢思华
18分钟前
0
0
Hadoop Client无法使用maven下载源码

最近在学习hadoop,使用maven的时候想看一下源码的注释,结果IDEA一直提示无法下载 搞得我一度以为maven坏掉了。 但是通过搜索,发现在maven仓库里确实没有源码.... 而2.8.1以及之前的版本是...

Iceberg_XTY
20分钟前
0
0
为什么程序员千万不要重写代码?

你所做的事情,也许暂时看不到成果,但不要灰心或焦虑,你不是没有成长,而是在扎根。 图片来自网络 0 前言 程序员都有一颗工程师的心,所以当他们到一片新的场地想做的第一件事就是,将旧的...

Java小铺
21分钟前
0
0
VUE集成AdminLte

1. 安装需要到插件 npm i admin-lte -Snpm i jquery -Snpm i axios -Snpm i vue-router -S 2. 配置webpack.config.js 2.1 module.exports.module.rules修改字体loader: {test: /\.(p......

Pasenger
今天
0
0
Spring Aop原理之切点表达式解析

在前面的文章(Spring AOP切点表达式详解)中,我们总结了Spring Aop切点表达式的用法,而在上文(Spring Aop原理之Advisor过滤)中我们讲到,切点表达式的解析主要是在PatternParser.parse...

爱宝贝丶
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部