1. from django.contrib import admin
  2. from django.urls import path
  3. from app01 import views
  4.  
  5. urlpatterns = [
  6. path('admin/', admin.site.urls),
  7. path('test/',views.test)
  8. ]

  

  1. from django.shortcuts import render,HttpResponse
  2. from django import forms
  3. from django.core.validators import RegexValidator #导入正则校验器RegexValidator
  4.  
  5. class UserInfo(forms.Form):
  6.  
  7. username = forms.CharField(
  8. label='用户名',
  9. min_length=6,
  10. required=True,
  11.  
  12. validators=[ #自定义校验规则
  13. RegexValidator(r'^a', '必须以a开头'), #第一个参数定义正则规则,第二个参数为错误信息
  14. # RegexValidator(r'b$', '必须以b结尾'),
  15. # 可以写多个 ...
  16. ],
  17.  
  18. error_messages={
  19. 'required': '不能为空'
  20. },
  21. )
  22.  
  23. password = forms.CharField(
  24. label='密码',
  25. widget=forms.widgets.PasswordInput(render_value=True)
  26. )
  27.  
  28. def test(request):
  29. if request.method == 'GET':
  30. u_obj = UserInfo()
  31. return render(request, 'test.html', {'u_obj': u_obj})
  32. else:
  33. u_obj = UserInfo(request.POST)
  34. if u_obj.is_valid():
  35. print(u_obj.cleaned_data)
  36. return HttpResponse('检验通过')
  37. else:
  38. print(u_obj.errors)
  39. return render(request, 'test.html', {'u_obj': u_obj})

  

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>test</title>
  6. <style>
  7.  
  8. </style>
  9. </head>
  10. <body>
  11. <form action="" method="post" novalidate>
  12. {% csrf_token %}
  13. <div>
  14. {{ u_obj.username.label }}:{{ u_obj.username }} {{ u_obj.username.errors.0 }}
  15. </div>
  16. <div>
  17. {{ u_obj.password.label }}:{{ u_obj.password }} {{ u_obj.password.errors.0 }}
  18. </div>
  19.  
  20. <div>
  21. <input type="submit" value="提交">
  22. </div>
  23. </form>
  24.  
  25. </body>
  26. </html>

  

Django的form组件——正则校验的更多相关文章

  1. Django之form组件is_valid校验机制

    #先来归纳一下整个流程 #()首先is_valid()起手,看seld.errors中是否值,只要有值就是flase #()接着分析errors.里面判断_errors是都为空,如果为空返回self. ...

  2. Django的form组件——自定义校验函数

    from django.shortcuts import render,HttpResponse from django import forms from django.core.exception ...

  3. Django之Form组件(一)

    Django之Form组件(一) Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 基本操作:字 ...

  4. python框架之Django(10)-Form组件

    介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来.与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入 ...

  5. 〖Python〗-- Django的Form组件

    [Django的Form组件] Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 Form类的使 ...

  6. Django之Form组件

    Django之Form组件 本节内容 基本使用 form中字段和插件 自定义验证规则 动态加载数据到form中 1. 基本使用 django中的Form组件有以下几个功能: 生成HTML标签 验证用户 ...

  7. Python之路【第二十一篇】:Django之Form组件

    Django之Form组件   Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 小试牛刀 1. ...

  8. 第十一篇:web之Django之Form组件

    Django之Form组件   Django之Form组件 本节内容 基本使用 form中字段和插件 自定义验证规则 动态加载数据到form中 1. 基本使用 django中的Form组件有以下几个功 ...

  9. python Django之Form组件

    python Django之Form组件 Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 小试 ...

随机推荐

  1. SAS 常用字符串函数

    原文链接:https://www.cnblogs.com/snoopy1866/p/15085466.html CAT(item-1 <, -, item-n>) : 在保留首尾空格的情况 ...

  2. 计算距离2020年圣诞节还有x天x时x分x秒

    //计算两者相差毫秒数 //创建当前时间和圣诞节时间的Date对象 var d1=new Date(); var d2=new Date('2020/12/25'); //计算相差的毫秒 var d= ...

  3. Vue学习笔记(一)简单使用和插值操作

    目录 一.Vue是什么 二.Vue简单体验 1. 声明式渲染 2. vue列表展示 3. 处理用户输入(事件监听) 三.插值操作 1. Mustache语法 2. 常用v-指令 v-once v-ht ...

  4. user-agent随笔

    常用的user-agent: 一.pc端的user-agent汇总,各大浏览器 1.safari 5.1 – MAC Mozilla/5.0 (Macintosh; U; Intel Mac OS X ...

  5. OpenStack中VNC协议实现多屏共享(多屏不踢访问)

    OpenStack中VNC协议实现多屏共享 by 无若   libvirt设置基本说明:   <devices> <graphics type='sdl' display=':0.0 ...

  6. 雪花算法ID在前端丢失精度解决方案

    首先说一下背景,目前笔者的工作是物联网方面的,设备有对应的智慧运营平台,平台开发中建表的主键用的是Mybatis plus默认的雪花算法来生成的,也就是分布式系统比较常用的雪花ID,技术栈就是常用的S ...

  7. Python -类型提示 Type Hints

    为什么会有类型提示 Python是一种动态类型语言,这意味着我们在编写代码的时候更为自由,运行时不需要指定变量类型 但是与此同时 IDE 无法像静态类型语言那样分析代码,及时给我们相应的提示,比如字符 ...

  8. nat转换技术,且用且珍惜

    一.NAT转换技术 1.1.NAT技术概述 随着Internet的发展和网络应用的增多,IPv4地址枯竭已经成为制约网络发展的瓶颈.尽管IPv6可以从根本上解决IPv4地址空间不足的问题,但目前众多的 ...

  9. Linux 开机关机在线求助与指令输入

    由于那本书版本稍稍有点早,我就跳过学习第二章第三章了(分别是主机规划和虚拟机安装)下图为在自己电脑上安装好的redhat7 4.1 我们来登入 其中第一行是Linux发行商和发行版本(欸,我的这个怎么 ...

  10. 使用TestNG,Apahcje POI和Excel文件进测试行数据驱动测试

    import com.cxy_fanwe.common.test_fanwe_qiantai;import org.apache.http.Header;import org.apache.http. ...