1. URL配置

一、需求

1. 需求:在浏览器访问URL地址 http://127.0.0.1:8000/users/index 时,显示hello django信息

2. 实现

i. 需要编写一个视图函数

ii. 针对该视图函数配置访问路由

二、URL配置实现

1. 对于url访问地址 http://127.0.0.1:8000/users/index?a=1,只需要根据users/index进行url配置。

注意:前面的笔记中为了简单,直接在项目下的urls.py文件中进行配置,如下:

2. 但是为了减轻项目下的urls.py文件的配置量,方便url的管理,会分别在两个urls.py文件中进行配置:

· 项目下的urls.py文件

· users应用下的urls.py文件(此文件默认不存在,需要自己创建)

URL配置示例参考:

2. URL匹配流程

URL匹配流程(路由解析顺序)

URL匹配流程说明

1. 域名、端口、端口后的 "/",以及查询字符串(问号后面的键值参数)不参与匹配

2. 先到项目下的urls.py进行匹配,再到应用的urls.py匹配

3. 根据url配置的先后顺序,从上到下进行URL匹配    -----> 这里有个坑,如果上面的url配置覆盖掉了下面的url,容易

出现url匹配错误的情况

4. 在项目下匹配成功的URL部分会去掉,剩下的部分继续到应用下作匹配

5. 如果匹配成功,Django会调用对应的视图函数,返回响应内容给浏览器显示

6. 如果最终匹配不成功,Django会给浏览器返回 404 错误

3. 捕获URL路径中的参数

一、需求

1. 在服务器端视图中,获取通过URL路径传递过来的参数

2. 例如:对于请求URL  http://127.0.0.1:8000/news/1/2,需要获取URL路径中的数值1(类别id)和2(页码)

二、解决

1. 在配置URL时,可以使用正则表达式匹配URL中的参数

2. 需要使用 "小括号" 把要匹配的值变为正则的一个组,可以对组命名,也可以不命名

3. 当匹配成功后,Django会自动匹配成功的值,作为一个方法参数传递到视图函数中

三、代码参考

1. 未命名参数(位置参数):按定义的顺序传递

2. 命名参数(关键字参数):按定义的组名传递

Django整理(四) - URL配置的更多相关文章

  1. 【二】Django 视图和url配置

    在新建的Django项目下,新建一个views的python文件,编辑如下代码 from django.http import HttpResponse def hello(request): ret ...

  2. Django路由系统-URLconf配置、正则表达式简述

    Django路由系统 1.11版本官方文档 ​ URL配置就像是Django项目的目录,它的本质是URL与URL调用的函数之间的映射表,Django会根据URL配置,在遇到一个URL时,就去执行相应的 ...

  3. 运维开发笔记整理-URL配置

    运维开发笔记整理-URL配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.URL路由 对于高质量的Web应用来说,使用简洁,优雅的URL的路由是一个非常值得重视的细节.Dja ...

  4. Django url配置 正则表达式详解 分组命名匹配 命名URL 别名 和URL反向解析 命名空间模式

    Django基础二之URL路由系统 本节目录 一 URL配置 二 正则表达式详解 三 分组命名匹配 四 命名URL(别名)和URL反向解析 五 命名空间模式 一 URL配置 Django 1.11版本 ...

  5. django(二)视图和URL配置

    创建一份视图: 在上一节,使用django-admin.py startproject制作的mysite文件夹中,创建一个叫做views.py的空文件.这个Python模块健柏寒这一章的视图. vie ...

  6. 测试开发之Django——No8.Django中的视图与URL配置

    在Django中,页面内容是靠views function(视图函数)来产生,URL定义在URLconf中. 这是一个纯净项目的url配置文件,他存在的目录,是与setting文件在同一个目录中. u ...

  7. django的url配置

    在一个请求到达的时候,最先达到的就是视图层,然后根据url映射到视图函数.这一部分我们来说明url的配置. 概述 为了给一个应用设计URL,你需要创建一个Python 模块,通常称为URLconf(U ...

  8. django之创建第7-2个项目-url配置分离

    1.urls.PY分离 # -*- coding: UTF-8 -*- from django.conf.urls import patterns, include, url # Uncomment ...

  9. Django中的 动态URL配置

    举个例子,一家在线书店会为每一本书提供一个URL,如:/books/243/./books/81196/. 让我们创建第三个视图来显示当前时间和加上时间偏差量的时间,设计是这样的: /time/plu ...

随机推荐

  1. VPS系统后台性能优化实战

    作者: 刘用, 现任新东方APP团队高级软件工程师 2019年开始,新东方APP团队启动了长达半年以上的稳定性建设工作,为什么稳定性如此重要?因为随着每年30%以上的高速增长,现有的后端服务完全扛不住 ...

  2. css写法

    id选择器 > 类选择器 > 标签选择器 @charset "utf-8"; charset=utf-8   表示当前文档的字符集是采用utf-8的字符,也就是我们常说 ...

  3. Python之win32模块

    如果想在Windows操作系统上使用Python去做一些自动化工作,pywin32模块常常会被用到,它方便了我们调用Windows API. 安装及使用 通过命令pip install pywin32 ...

  4. JMeter中使用交替控制器设置循环次数后都执行一次?

    JMeter在线程组设置循环3次,执行后只执行了一次就停止执行了 排查原因:线程组下添加了一些请求信息(HTTP Cache Manager.HTTP Cookie Manager.HTTP Requ ...

  5. 2021-06-14 BZOJ4919:大根堆

    BZOJ4919:大根堆 Description: 题目描述   给定一棵n个节点的有根树,编号依次为1到n,其中1号点为根节点.每个点有一个权值v_i. 你需要将这棵树转化成一个大根堆.确切地说,你 ...

  6. Filter案例之敏感词过滤和代理模式

    一.需求分析 二 .代理模式 1.概念 2.代码实现 代理对象可以强转为真实对象,即对应的接口类: 3.通过代理增强方法 其中,方法对象invoke真实对象,反射原理: 三.过滤敏感词汇案例代码实现 ...

  7. 以人为本打造“超职季”IP,58同城精准匹配企业招聘与打工人

    撰文 |懂懂 编辑 | 秦言 来源:懂懂笔记 在大手笔培育IP的背后,58同城是如何考量的? 在餐厅当服务员的李阿姨今年54岁了.她的女儿马上研究生毕业,非常喜欢陈伟霆,手机屏保都是他.李阿姨没想到, ...

  8. axios与vue-resource

    在Vue项目中前后端交互时,早期Vue使用Vue-resource实现异步请求.从Vue2.0之后就不再对vue-resource进行更新,Vue官方推荐使用axios. vue-resource V ...

  9. 第七章:网络优化与正则化(Part1)

    任何数学技巧都不能弥补信息的缺失. --科尼利厄斯·兰佐斯(Cornelius Lanczos) 匈牙利数学家.物理学家 文章相关 1 第七章:网络优化与正则化(Part1) 2 第七章:网络优化与正 ...

  10. 使用Java操作Excel表格

    目录 一.配置第三方库 二.使用Apache POI API 1. 打开Excel文件 2. 选择对应的sheet 3. Sheet接口的基本使用 3.1 获取开头行和结束行 3.2 获取Row对象 ...