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

    从现在开始,种下梦想中的参天大树
  • 相关阅读:
    SASS教程sass超详细教程
    浅谈angular2+ionic2
    深入理解JSON对象
    浅谈闭包
    响应式开发入门
    CSS之float属性归纳探讨
    新学期加油
    Good moring!
    async await的前世今生
    ASP.NET配置KindEditor文本编辑器-图文实例
  • 原文地址:https://www.cnblogs.com/dc2019/p/13324263.html
Copyright © 2011-2022 走看看