ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Django学习笔记:第四天 View

2020-07-16 18:33:21  阅读:266  来源: 互联网

标签:匹配 views url 视图 Django 正则 urls 第四天 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

标签:匹配,views,url,视图,Django,正则,urls,第四天,View
来源: https://www.cnblogs.com/dc2019/p/13324263.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有