【问题标题】:Django - Request resolutionDjango - 请求解析
【发布时间】:2018-11-27 09:31:55
【问题描述】:

我想知道 Django 一般是如何解析请求 url urlpatterns 的。

我的理论:

Django 有时会将其所有 urlpatterns 转换为正则表达式列表,然后尝试将它们与传入请求的 url 进行匹配。

问题:

我说的对吗?如果是的话,有人能指出我在源代码中发生了什么吗?

看起来 django 文档中没有提到这个,我觉得我在源代码中进行盲目搜索。任何见解都值得赞赏。

【问题讨论】:

    标签: django url-routing


    【解决方案1】:

    该过程描述为here。简而言之:

    1. Django 确定要使用的根 URLconf 模块....
    2. Django 加载该 Python 模块并查找变量 urlpatterns。这应该是 django.urls.path() 和/或 django.urls.re_path() 实例的 Python 列表。
    3. Django 按顺序运行每个 URL 模式,并在第一个匹配请求的 URL 时停止。
    4. 一旦其中一个 URL 模式匹配,Django 就会导入并调用给定的视图,这是一个简单的 Python 函数(或基于类的视图)......
    5. 如果没有匹配的 URL 模式,或者在此过程中的任何时候引发异常,Django 将调用适当的错误处理视图....

    【讨论】:

      猜你喜欢
      • 2018-10-19
      • 2016-03-29
      • 2017-02-17
      • 1970-01-01
      • 1970-01-01
      • 2019-05-03
      • 1970-01-01
      • 1970-01-01
      • 2012-11-16
      相关资源
      最近更新 更多