django from表单验证

 

实现:表单验证

工程示例:

urls.py

1
2
3
4
5
6
7
8
9
from django.conf.urls import url
from django.contrib import admin
from app01 import views
 
 
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^f1.html$', views.f1),
]

settings.py

STATIC_FILES_DIRS = (
os.path.join(BASE_DIR,'static'),
)

views.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
from django.shortcuts import render
from django.shortcuts import redirect
from django.shortcuts import HttpResponse
from app01 import models
 
from django import forms
from django.forms import fields
 
 
class F1Form(forms.Form):
    user = fields.CharField(
        max_length=18,
        min_length=6,
        required=True,
        error_messages={'required': '用户名不能为空',
                        'max_length': '太长了',
                        'min_length': '太短了'
                        }
    )
 
    pwd = fields.CharField(
        required=True,
        min_length=32
    )
 
    age = fields.IntegerField(
        required=True,
        error_messages={
            'required': '邮箱不能为空',
            'invalid': '邮箱格式错误',
        }
    )
 
    email = fields.EmailField(
        required=True,
        min_length=8
    )
 
 
def f1(request):
    if request.method == 'GET':
        obj = F1Form()
        return render(request, 'f1.html', {'obj': obj})
    else:
        obj = F1Form(request.POST)
        # 是否全部验证成功
        if obj.is_valid():
            # 用户提交的数据
            print('验证成功', obj.cleaned_data)
            return redirect('http://www.baidu.com')
        else:
            print('验证失败', obj.errors)
            return render(request, 'f1.html', {'obj': obj})

f1.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form id="fm" action="/f1.html" method="POST">
    <p>用户{{ obj.user }}{{ obj.errors.user.0 }}</p>
    <p>密码{{ obj.pwd }}{{ obj.errors.pwd.0 }}</p>
    <p>年龄{{ obj.age }}{{ obj.errors.age.0 }}</p>
    <p>邮箱{{ obj.email }}{{ obj.errors.email.0 }}</p>
    <input type="submit" value="提交" />
</form>
<script src="/static/js/jquery-3.1.1.js"></script>
 
</body>
</html>

django from表单验证的更多相关文章

  1. python运维开发(十九)----Django后台表单验证、session、cookie、model操作

    内容目录: Django后台表单验证 CSRF加密传输 session.cookie model数据库操作 Django后台Form表单验证 Django中Form一般有2种功能: 1.用于做用户提交 ...

  2. django form表单验证

    一. django form表单验证引入 有时时候我们需要使用get,post,put等方式在前台HTML页面提交一些数据到后台处理例 ; <!DOCTYPE html> <html ...

  3. Django(5) session登录注销、csrf及中间件自定义、django Form表单验证(非常好用)

    一.Django中默认支持Session,其内部提供了5种类型的Session供开发者使用: 数据库(默认) 缓存 文件 缓存+数据库 加密cookie 1.数据库Session 1 2 3 4 5 ...

  4. Django实现表单验证、CSRF、cookie和session、缓存、数据库多表操作(双下划綫)

    通常验证用户输入是否合法的话,是前端js和后端共同验证的,这是因为前端js是可以被禁用的,假如被禁用了,那就没法用js实现验证合法与否了,也就是即使用户输入的不合法,但是也没提示,用户也不知道怎么输入 ...

  5. django book表单验证学习

    django提供了强大的表单验证功能form 个人认为是把html代码封装到form里面,就像封装models中的数据一样.而且带有强大的验证功能,不需要后台再去写一堆乱七八糟的验证 具体操作查看dj ...

  6. Django之表单验证

    对于前端的表单进行验证的方法,从最简单的js到基于XML传输的Ajax,再到cookie的免认证,现在Django为我们提供了自带的表单验证方法. views.py: from django impo ...

  7. Django ModelForm表单验证

    ModelForm 在使用Model和Form时,都需要对字段进行定义并指定类型,通过ModelForm则可以省去From中字段的定义 应用场景:定制model admin 的时候可以使用.适用于小业 ...

  8. django form 表单验证

  9. 第三百一十一节,Django框架,Form表单验证

    第三百一十一节,Django框架,Form表单验证 表单提交 html <!DOCTYPE html> <html lang="en"> <head& ...

随机推荐

  1. python 生成器(generator)的生成方式

    generator包括生成器和带yield的generator函数. 写了一个生成杨辉三角的小例子: # -*- coding:utf-8 -*- def triangles(): l = [1] w ...

  2. C#安装Telnet

    1.打开电脑控制面板: 2.“查看方式”改成小图标: 3.点击“程序和功能”: 4.在左侧选择“启用或关闭Windows功能”: 5.选择“Telnet服务器”.Telnet客户端: 6.点击“确定” ...

  3. vim常用指令

    命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filename 打开vim ...

  4. 设计模式二之观察者模式(Subject-Observer)

    观察者模式定义了一系列对象之间的一对多关系,当一个主题对象改变状态,其他所有的依赖者都会收到通知. 好了,你可能会觉得上面的描述略微复杂,较难理解,那么现在我们将用一个简单的例子去讲解这个模式. 我们 ...

  5. jquery添加属性使用attr、prop。

    之前页面为标签添加属性都是使用的attr,删除使用removeAttr. 今天给checkbox添加checked属性时出现代码显示添加成功,但是页面不勾选内容. 后来查询发现checked是chec ...

  6. selenium中下拉框的定位

    from selenium import webdriverfrom selenium.webdriver.support.select import Selectimport timedriver ...

  7. ACE如何生成VS工程之mwc.pl用法

    1.先写个mwc文件,文件名为hello.mwc workspace { hello.mpc} 2.写mpc文件,文件名为hello.mpc project(hello):aceexe, acexml ...

  8. 第四次:渗透练习,xss学习

    xss学习 一.学习目的 初步了解xss攻击,不包括(DOM类型) 二.附加说明 1.xss介绍 https://baike.baidu.com/item/XSS%E6%94%BB%E5%87%BB/ ...

  9. python3对比python2的更新点

    python3对比python2的更新点: Python2官方基础模块:urllib2 第三方功能包:requests python3中urllib库和urilib2库合并成了urllib库. 其中u ...

  10. MVC部署阿里云躺过的坑

    1.端口问题 服务器上的80端口默认是打开的.但要能用必须在阿里云的安全组添加对应的配置. 2.安装IIS 在Windows Service 2012 安装IIS,安装时勾一个总复选框,但有些该分支下 ...