1. 首页
  2. 编程语言
  3. Python
  4. Django url 路由匹配过程详解

Django url 路由匹配过程详解

上传者: 2022-03-29 22:02:10上传 PDF文件 264.39 KB 热度 32次

1 Django 如何处理一个请求当一个用户请求Django 站点的一个页面,下面是Django 系统决定执行哪个Python 代码使用的算法:Django 确定使用根 URLconf 模块。Django 加载该 Python 模块并寻找可用的 urlpatterns 。它是 django.urls.path() 和(或) django.urls.re_path() 实例的序列。其实就是我们写的 url.pyDjango 会按顺序遍历每个 URL 模式,然后会在所请求的URL匹配到第一个模式后停止,并与 path_info 匹配。这个是路由匹配的关键,相关逻辑均在django/urls/resolvers.py。其中有几个比较重要的概念,如RegexPattern、RoutePattern、URLPattern、URLResolver。其中URLResolver有嵌套的逻辑,下文详述。匹配成功会返回一个ResolverMatch对象。如果没有 URL 被匹配,或者匹配过程中出现了异常,Django 会调用一个适当的错误处理视图。本文详述 2、3,即 urlpatterns 相关概念和路由匹配的过程。2 URL 配置文件在 Django 2 之后通常会使用 path/re_path 来设置路由,还要一个比较特殊的方法 include 。

下载地址
用户评论