urlpatterns变量​​的语法

urlpatterns应该是path()和/或re_path()实例的Python列表。

  1. 首先,Django会使用根路由解析模块(root URLconf)来解析路由。 通常,这是ROOT_URLCONF设置的值,但是如果传入的HttpRequest对象具有urlconf属性(由中间件设置)那么ROOT_URLCONF的设置将被其替换。
  2. Django加载该Python模块并查找变量urlpatterns。 它应该是django.urls.path()或者django.urls.re_path()实例的Python列表。
path 是新的方法,re_path方法和原来的url用法一致,使用正则表达式代码:

from django.urls import pathfrom . import viewsurlpatterns = [path('articles/2003/', views.special_case_2003),path('articles/<int:year>/', views.year_archive),path('articles/<int:year>/<int:month>/', views.month_archive),path('articles/<int:year>/<int:month>/<slug:slug>/', views.article_detail),
]

 

变化:

  不在使用url函数,转而使用path转换器

  直接在url中表示捕获的参数类型,

  提取的参数会进行类型转换,不像正则表达式中都是捕获字符串

  不以斜杠结尾则匹配不到



  • 要从URL捕获某个值,使用尖角括号。
  • 捕获的值可以选择包含一个转换器类型。 例如, 使用 <int:name> 来捕获一个整形参数。 如果没有包含转换器, 那么除了/ 字符外, 会匹配任意字符串。
  • /articles/2005/03/ 的请求将与列表中的第三个条目匹配。 Django会调用函数views.month_archive(request, year=2005, month=3)
  • /articles/2003 不会匹配到任何一个模式,因为每个模式都要求URL以斜杠结尾。

转换器类型以下路径转换器默认可用:

  • str - 匹配除了路径分隔符'/'的任意非空字符串。 如果表达式中没有包含转换器,那么这将是默认行为。
  • int - 匹配0或任意正整数。 并作为 int 返回。
  • slug - 匹配任意的黏接字符串(slug string),这些黏接字符串是ASCII的字母或数字,词与词之间由连字符或下划线黏接组成。 例如, building-your-1st-django-site
  • uuid - 匹配一个格式化的 UUID. 为了防止多个URL映射到同一页面,必须包含多个破折号(dash),同时字母必须小写。 例如, 075194d3-6885-417e-a8a8-6c931e272f00. 返回一个 UUID 实例。
  • path - 匹配包含路径分隔符 '/'在内的任意非空字符串。 相对于str,这允许你匹配一个完整的URL路径,而不仅仅是URL路径的一部分。

转载于:https://www.cnblogs.com/chaiming/p/9253705.html

django 2.0路由配置变化相关推荐

  1. Django 02 url路由配置及渲染方式

    Django 02 url路由配置及渲染方式 一.URL #URL #(Uniform Resoure Locator) 统一资源定位符:对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是 ...

  2. Django基础--Django基本命令、路由配置系统(URLconf)、编写视图、Template、数据库与ORM...

    web框架 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构. 使用框架可以帮你快速开发特定的系统. 简单地说,就是你用别人搭建好的舞台来做表演. 尝试搭建一个简单 ...

  3. Django二级域名路由配置方案django-hosts

    最终效果 http://www.mydomain.cn/api/ --> http://api.mydomain.cn/ http://www.mydomain.cn/blog/ --> ...

  4. 2.Pycharm + Django + Python进行WEB路由配置

    一.普通路由配置 1.利用PyCharm创建工程名为mysite的Django项目,在mysite文件上新建views.py视图文件,如下图示: 2.在urls.py文件中导入view.py视图文件 ...

  5. VMware workstation虚拟机REHL8下配置安装Django 4.0.6 +uwsgi 2.0.20 +nginx1.22+Mariadb10.9.1

    前言: 本文主要的目的是在REHL8的中搭建一个简易的 Django的web应用步骤记录,如果只是想学习Django使用的话,那么直接安装Django就可以了,它有自带的web服务可以直接测试使用.之 ...

  6. django urls路由配置

    学习django的路由配置时一般会用到两个函数path和re_path,re_path可以结合正则,在使用过程中我发现两个需要注意的点: 1.urls在查询路由的时候接收到的路由均是以字符串形式传递的 ...

  7. Django(5)-路由配置实例

    Django(1)-简介 Django(2)-创建项目及默认项目目录结构介绍 Django(3)-配置文件详解 Django(4)-URL和视图 Django(5)-路由配置实例 Django(6)- ...

  8. 创建Django项目 目录结构 Url介绍 路由配置

    创建Django项目 文章目录 创建Django项目 创建项目的指令 Django项目的目录结构 `settings.py` 文件介绍 URL 介绍 URL定义 Django如何处理一个URL对应的请 ...

  9. Django路由配置-快速上手

    Django路由配置-快速上手 Django路由系统配置代码在urls.py中,该文件在创建项目时自动生成,一般在项目目录下. 路由系统URL基本格式 在urls.py文件中配置的路由,都存放在一个名 ...

最新文章

  1. NR:UE初始搜网流程
  2. 远程注入dll中注册热键
  3. OWASP Top 10 – 2013, 最新十大安全隐患(ASP.NET解决方法)
  4. (原創) 深入探討blocking與nonblocking (SOC) (Verilog)
  5. android 实现定时通知,在Android中创建定时通知(例如,针对事件)
  6. WINCE BSP中source文件中的宏定义
  7. ckc交易什么意思_1379ip0在股市是什么意思,600875东方电气股票,股市交易手续费计算...
  8. 云计算学习路线图课件:云计算中的常见的云配置错误
  9. 矩池云上安装yolov4 darknet
  10. jsp1201高校实习实训系统
  11. 第二届(2021—2022学年)少年硅谷——全国青少年人工智能教育成果展示大赛
  12. 黑苹果 OC (OpenCore) 引导 0.6.8 最新版及其通用配置
  13. DSP之ICETEK-DM6437-B开发
  14. java rx3x_GitHub - xkm123/oss-sdk-java: java sdk for oss
  15. 【论文笔记】ASNet:基于生成对抗网络(GAN)的无监督单模和多模配准网络(范敬凡老师)
  16. 微信与企业微信消息如何互通?
  17. cad如何打开stp文件_用cad如何打开stp文件
  18. 比尔·盖茨的另一扇视窗
  19. 「用ChatGPT搞钱年入百万!」各路博主发布生财之道,网友回呛:答辩的搬运工...
  20. 面试官问你Java线程池--怎么样回答才能让面试官知道你真的懂了!

热门文章

  1. Java SSH Hibernate通过代码实现从数据库中随机取出指定条数的随机数据
  2. Jfinal Generator 不需要生成带某个前缀的表名数组的方法
  3. HTC VIVE SDK 中的例子 hellovr_opengl 程序流程分析
  4. Oracle官方教程之Fork/Join
  5. C#综合揭秘——Entity Framework 并发处理详解
  6. [转] vim的复制粘贴小结
  7. 继承QTreeWidgetItem发生error: 'staticMetaObject' is not a member of 'QTreeWidgetItem' 错误
  8. 【Win32 API学习]打开可执行文件
  9. Java 抽象类与接口的区别
  10. MySQL数据类型--------字符串类型实战