[oldboy-django][2深入django]初始Form组件

http://www.cnblogs.com/wupeiqi/articles/6144178.html

1 初始Form组件

# Form验证(初始Form组件验证)
    - 问题:
        - 无法记住上次提交的内容,页面刷新数据消失
        - 重复进行提交数据的校验(数据是否为空,长度大小等等)

    - 解决方法:django Form组件
        - 定义规则(数据的格式,字段必须和表单上name属性一致)
            class LoginForm(Form):
            实例化对象obj = LoginForm(request.POST)

        - 数据检验
            obj.is_valid()

        - 提供详细错误信息(可以自定制错误提示)
            -- 自定制错误信息,在类定义的时候通过error_messages参数
            obj.errors

        - 提供符合规则的信息(类型是字典,数据库orm操作支持类型是字典操作)
            obj.cleaned_data

    - Form实例:
        a.定义规则
            from django.forms import Form, fields
            class LoginForm(Form):
                # 定义规则,fields是正则验证
                # usernma和password必须和前端模板Form里面input的name一致
                username = fields.CharField(required=True, max_length=16, min_length=6,
                                            error_messages={
                                                ‘required‘: ‘不能为空‘,
                                                ‘max_length‘: ‘长度必须少于16‘,
                                                ‘min_length‘: ‘长度必须大于6‘
                                            })
                password = fields.CharField(required=True, min_length=8,
                                            error_messages={
                                                ‘required‘: ‘不能为空‘,
                                                ‘min_length‘: ‘长度必须大于8‘
                                            })
        b.使用
            def login(request):
                if request.method == ‘GET‘:
                    return render(request, ‘login.html‘)
                else:
                    obj = LoginForm(request.POST)
                    # 检验提交数据是否符合规则
                    if obj.is_valid():
                        print(obj.cleaned_data)
                        # obj.cleaned_data是一个字典,form表单提交的数据
                        #{‘password‘: ‘aaaaaaaaaa‘, ‘username‘: ‘alexadfdda‘}
                        return redirect(‘http://www.baidu.com‘)
                    else:
                        return render(request, ‘login.html‘, {‘error‘: obj.errors})

# 作业(登录,注册)最终版
    - 保留上次输入的值
    - 用户数据格式的验证

时间: 2024-07-31 18:41:38

[oldboy-django][2深入django]初始Form组件的相关文章

django 之知识点以及认识Form组件

django 之知识点总结以及Form组件 一.model常用操作 1.13个API查询:all,filter,get ,values,values_list,distinct,order_by ,reverse , exclude(排除),count,first,last,esits(判断是否存在) 需要掌握的all.values.values_list的区别 all:打印的是一个QuerySet集合,一个列表里面放的对象 values :是一个字典形式 values_list:是一个元组形式

django 之知识点总结以及Form组件

一.model常用操作 1.13个API查询:all,filter,get ,values,values_list,distinct,order_by ,reverse , exclude(排除),count,first,last,esits(判断是否存在) 需要掌握的all.values.values_list的区别 all:打印的是一个QuerySet集合,一个列表里面放的对象 values :是一个字典形式 values_list:是一个元组形式 all的性能是最低的 2.only和def

Django(十五)Form组件

https://www.cnblogs.com/haiyan123/p/7778888.html Form组件 - 对用户请求的验证 - AJax - Form - 生成HTML代码 a. 创建一个类 b. 类中创建字段(包含正则表达式) c. GET obj = Fr() obj.user = > 自动生成HTML d. POST obj = Fr(request.POST) if obj.is_valid(): obj.cleaned_data else: obj.errors return

Django框架基础之Form组件

服务端假设所有用户提交的数据都是不可信任的,所以Django框架内置了form组件来验证用户提交的信息 form组件的2大功能:       1 验证(显示错误信息)       2 保留用户上次输入的信息                  -- 可以生成html标签应用: class A_Form(Form): 字段=fields.字段类型(默认参数: required=True, widget=widgets.插件(attrs={})) 常用字段:Charfield,RegexField,I

form 组件

初始form组件 Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 验证功能 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body&g

form组件注册ajax登录auth认证及验证码

本项目采用django自带的数据库 项目文件 models.py 1 from django.db import models 2 from django.contrib.auth.models import AbstractUser 3 # Create your models here. 4 5 class Userinfo(AbstractUser): 6 email = models.EmailField() settings.py 1 AUTH_USER_MODEL='app01.Us

Django框架之Form组件

新手上路 From组件的主要功能: 1,对form表单提交的数据进行校验. 内部基于正则进行匹配 2,from表单提交保存上次提交的数据. 生成HTML标签 初入大荒 1,创建Form类 class StudentForm(Form): #字段名,最好跟数据库内的字段名一样,好操作 #如CharField,内部包含了正则表达式, name = fields.CharField(max_length=12, min_length=2, required=True, widget=widgets.T

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

Django之Form组件 Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 小试牛刀 1.创建Form类 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 from django.forms import Form from django.forms import widgets from django.forms imp

Django ==&gt; Form 组件

Django ==> Form 组件 目录: 1.基本使用 2.form中字段和插件 3.自定义验证规则 4.动态加载数据到form中 Action: 1.基本使用 django 中的Form组件有一下功能: 1.生成html标签 2.验证用户数据(显示错误信息) 3.html form 提交保留上次提交数据 4.初始化页面显示内容 要使用 form 类,首先需要创建这个类,方法如下: from django.forms import Form from django.forms import