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. laravel(lumen)配置读写分离后,强制读主(写)库数据库,解决主从延迟问题

    在Model里面加上下面这句,强制读主(写)库数据库,解决主从延迟问题. public static function boot() { //清空从连接,会自动使用主连接 DB::connection ...

  2. 使用EXE4J和Inno Setup 编译器将java程序打包成windows桌面应用安装程序

    java项目结构如下: Demo是模仿程序快照,主要设计两个按钮:保存快照和恢复快照: 保存快照将对象(窗口)序列化保存下来,后面无论做了什么操作,只要点击恢复快照, 就会读取之前保存的序列化的对象. ...

  3. ReactiveCocoa的学习内容

    ReactiveCocoa • 知识备用库:iOS10 collectionView以前是复用的,但是iOS10以后就要设置一个属性才可以复用. • C语言面向过程编程,OC面向对象编程 • 链式编程 ...

  4. 简单的bootstarp项目实例

    ===========index.html==============<!DOCTYPE html> <html> <head> <meta charset= ...

  5. 数据库学习二三事儿(不打代码永远get不到的东西)

    针对聚合函数: 1.在自己打的过程中,发现如果select里面有一个列名有被聚合函数用到,比如: 这里的count和Sum_salary均邮局和函数,照理来说branchNo是不能搞进去的,但是它被g ...

  6. vs问题--------------标记为系统必备组建...

    问题:标记为系统必备组建 要将程序集“D:\project\DMS\DMSGaeaService\TmsApplication\bin\Debug\Jns.Gaea.dll”标记为系统必备组件,必须对 ...

  7. 自学python之路(day4)

    一 购物车小程序 goods=[{}, {}, {}] shop_car={} li=[] ,len(goods)): li.append(i) money=input('请输入您的总金额:') if ...

  8. 目前大热的AI和SLAM的职业发展的想法

    目前,AI的研究和SLAM的发展已经走到使用领域.还记得三年前,上<信息光学>的老师在课上提到,他有一个研究生买了一个两万块的笔记本,还要出国去研究人工智能,当时听着认为这位学长很疯狂.可 ...

  9. linux下ftp权限控制

    需求背景: 1.创建2个账号给联调的系统使用读取我方服务器提供的文件信息.只允许看到限定的目录,对目录下的文件只有只读权限,禁止shell登录. 2.创建一个内部账号提供文件信息,只允许看到限定的目录 ...

  10. Mybatis Generator主要配置详解

    MyBatis 的代码生成主要配置文档[具体] <?xml version="1.0" encoding="UTF-8"?> <!DOCTYP ...