Django项目总结:View

【视图概述】

-- Django中的视图主要用来接受Web请求,并做出响应。

-- 视图的本质就是一个Python中的函数

-- 视图的响应分为两大类

  -- 以Json数据形势返回

  -- 以网页的形势返回

    -- 重定向到另一个网页

    -- 错误视图(40X,50X)

      -- 404视图 (页面没找到)

      -- 400视图 (客户操作错误)

      -- 500视图(服务器内部错误)

      -- 自定义错误视图

        -- setting中关闭Debug

        -- 工程的templates文件夹下创建对应的错误文件

          -- 例如:404.html

-- 视图响应过程

  -- 浏览器输入

  -- django获取信息并去掉ip:端口,剩下路径

  -- urls 路由匹配

  -- 视图响应

  -- 回馈到浏览器

 

【url配置】

-- 配置流程

  -- setting中指定根级url配置文件,对应的属性ROOT_URLCONF

  -- urlpatterns

    -- 一个url实例的列表,全在根配置搞定

    -- 内部由url组成(正则匹配路径)

    -- url(r'^Learn/',views.learn)

  -- 导入其它url配置: 

    -- 在应用中创建urls.py文件,编写匹配规则

    -- 在工程urls.py中进行导入

    -- from django.conf.urls import include

    -- urlpatterns = [ url(r'^xxx/',include('App.urls')) ]

-- url匹配正则注意事项:

  -- 正则匹配时从上到下进行遍历,匹配到就不会继续向后查找了

  -- 匹配的正则前方不需要加反斜线

  --正则前需要加 (r)表示字符串不转义

  -- 按照列表的书写顺序进行匹配的

  -- 从上到下匹配,没有最优匹配的概念

  -- 路由规则编写

    -- 我们通常直接指定以 ^ 开头

    -- 在结尾处直接添加反斜线 /

 

【获取url路径上的参数】

-- 如果需要从url中获取一个值,需要对正则加小括号

  -- url(r'^grade/(\d+)$',views.getStudents),

  -- 注意:url匹配中添加了 () 取参,在请求调用的函数中必须接收

    -- def getStudents(request,classId):

-- 要获取url路径中的多个参数,那就添加多个括号,默认按顺序匹配路径名字

  -- url(r'^now/(\d{4})/(\d+)/(\d+)$',views.get_now),

  -- 匹配年月日:def get_now(request,year,month,day):

-- 参数也可以使用关键字参数

url(r'^now/(?P<year>\d+)/(?P<month>\d)+/(?P<day>\d+)', views.get_now),

创表,添加数据

-- locals()

  -- 内置函数

  -- 将局部变量,使用字典的方式进行打包

  --key是变量名,value是 变量中存储的数据

加点击,a标签,或者js,获取某一个班级的学生

grade_list.html

grade_student_list.html

 

 

url反向解析

-- 在根urls中

  -- url(r'^two/', include('Two.urls',namespace='second')),

-- 在子urls中

  -- url(r'^hello/(\d+)',views.hello,name='sayhello'),

-- 在模板中使用

  -- <a href="{% url 'second:sayhello'  year=2017 %}">Hello</a>

 

--在视图中使用

  -- HttpResponseRedirect(reverse('second:sayhello',kwargs={}))

  -- kwargs是字典

 

HttpRequest

url: ....../haverequest/?hobby=coding&hobby=eating #传入hobby参数

 

通过 form 发送一个 post 请求,接收并显示出来

 

获取访问主机的IP

-- Request

  -- 内置属性

    -- method

    -- path

    -- GET

      -- 类字典结构

      -- 一个key允许对应多个值

      -- get

      -- getlist

-- POST

-- META

  -- 各种客户端元信息

  -- REMOTE_ADDR 远端访问IP

posted @ 2019-07-16 18:32  颗粒成仓  阅读(151)  评论(0编辑  收藏  举报