zoukankan      html  css  js  c++  java
  • 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

    从现在开始,种下梦想中的参天大树
  • 相关阅读:
    hdu 5723 Abandoned country 最小生成树 期望
    OpenJ_POJ C16G Challenge Your Template 迪杰斯特拉
    OpenJ_POJ C16D Extracurricular Sports 打表找规律
    OpenJ_POJ C16B Robot Game 打表找规律
    CCCC 成都信息工程大学游记
    UVALive 6893 The Big Painting hash
    UVALive 6889 City Park 并查集
    UVALive 6888 Ricochet Robots bfs
    UVALive 6886 Golf Bot FFT
    UVALive 6885 Flowery Trails 最短路
  • 原文地址:https://www.cnblogs.com/dc2019/p/13324263.html
Copyright © 2011-2022 走看看