Web框架开发-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:是一个元组形式

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

相关推荐

  1. Web框架开发-Django-form

    2024-03-31 00:58:01       43 阅读
  2. Web框架开发-Django-Form归类

    2024-03-31 00:58:01       46 阅读
  3. Django——forms

    2024-03-31 00:58:01       41 阅读
  4. Django forms

    2024-03-31 00:58:01       35 阅读
  5. Django Form

    2024-03-31 00:58:01       32 阅读
  6. python-web应用程序-Django-From

    2024-03-31 00:58:01       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-31 00:58:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-31 00:58:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-31 00:58:01       82 阅读
  4. Python语言-面向对象

    2024-03-31 00:58:01       91 阅读

热门阅读

  1. Tomcat是如何处理并发请求的?

    2024-03-31 00:58:01       43 阅读
  2. 基于easyx库的C/C++游戏编程实例-飞机大战

    2024-03-31 00:58:01       48 阅读
  3. 如何处理Redis服务器宕机的情况

    2024-03-31 00:58:01       43 阅读
  4. C++ | filesystem file not found

    2024-03-31 00:58:01       48 阅读