Web框架开发-Django-form组件

本文主要介绍了Django框架中的Form组件,包括其功能、使用方法以及数据验证。Form组件用于处理用户请求数据验证、错误信息显示和数据打包。文章还涵盖了Django的model常用操作,如API查询、路由系统和数据库生命周期。此外,讨论了数据库表设计策略,如连表设计和字段数据处理。最后,提到了登录实现和Form的基本使用,包括添加错误信息的钩子函数。
摘要由CSDN通过智能技术生成

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和defer

1

2

3

4

5

6

7

8

9

10

datalist = models.Userinfo.objects.all().only("name","email")  #拿到的还是一个QuerySet集合,仅仅取name和email

for item in datalist:

    print(item.id)

    print(item.name)

    print(item.pwd)   #只要表里有这个字段,一样会取到值,额外的会再发一次请求

datalist = models.Userinfo.objects.all().defer("name","email"#阻止,不取name和email

for item in datalist:

    print(item.id)

    print(item.pwd)

  注意:用only的话就去取only里面的字段,取其它的字段效率太低了,尽可能的少的连接数据库

  3、路由系统

  反向生成URL:

    有两种方式:{% url “a1” %}

          reverse(“a1”)

用reverse需要导入: from django.core.urlresolvers import reverse

1

2

3

4

5

6

7

8

9

10

11

/index/     func    name=a1

    { % url "a1"}

     reverse('a1')

                 

/index/(\d+)/     func    name=a2

    { % url "a2" 11 %}

    reverse('a2',args=(11,))

                 

/index/(?P<nid>\d+)/     func    name=a3

    { % url "a2" nid=11 %}

    reverse('a3',kwargs={ 'nid':11})

  

1

2

3

4

5

6

7

8

9

def index(request):

    if request.method == "POST":

        """

        两个return是一样的,用url反向解析就相当于下面的路径在urls里面

        协商别名name="index",但在模板中还是要用{%url"index"%}

        """

       # return redirect(reverse(index))

        return redirect("index.html")   # 跳转到个人主页

    return render(request, "hh.html")

  4、Django的生命周期

  web服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)

  1.   首先走wsgi模块,这个模块也是一个协议,包括wsgiref和uwsgi
  2. 然后路由分配---------views视图
  3. 从数据库取数据--------渲染到HTML

 

二、form组件

1、Form组件介绍

Form组件可以做的几件事情:

  1、用户请求数据验证

  2、自动生成错误信息    

  3、打包用户提交的正确信息

  4、如果其中有一个错误了,其他的正确这,保留上次输入的内容

  4、自动创建input标签并可以设置样式

2、Form组件的使用

  1、创建规则

1

2

3

4

5

class Foo(Form)    # 必须继承

        username = XXX

        password = XXX

        email = XXX

注意这里的字段必须和input字段一致

  2、数据和规则进行匹配

先导入view.py

1

2

3

from django.forms import Form

from django.forms import fields

from django.forms import widgets

  

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值