美文网首页
url调度器

url调度器

作者: amarktoo | 来源:发表于2018-05-22 16:03 被阅读0次

当一个用户请求Django 站点的一个页面,下面是Django 系统决定执行哪个Python 代码使用的算法:

1.Django determines the root URLconf module to use. Ordinarily, this is the value of the ROOT_URLCONF setting, but if the incoming HttpRequest object has a urlconf attribute (set by middleware), its value will be used in place of the ROOT_URLCONF setting.

2.Django loads that Python module and looks for the variable urlpatterns. This should be a Python list of django.urls.path() and/or django.urls.re_path() instances.

3.Django 依次匹配每个URL 模式,在与请求的URL 匹配的第一个模式停下来。

4.Once one of the URL patterns matches, Django imports and calls the given view, which is a simple Python function (or a class-based view). The view gets passed the following arguments:

   · 一个 HttpRequest 实例。

   · If the matched URL pattern returned no named groups, then the matches from the regular                     expression are provided as positional arguments.

    ·The keyword arguments are made up of any named parts matched by the path expression, overridden by any arguments specified in the optional kwargs argument to django.urls.path() ordjango.urls.re_path().

5.If no URL pattern matches, or if an exception is raised during any point in this process, Django invokes an appropriate error-handling view. See Error handling below.

1说django决定了rooturl模块使用,默认是setting中root_urlconf参数指定的module

但是当有请求有urlconf参数,(在中间件中设置)的情况下将替换项目中默认module,middleware开启在setting中:

简单自定义middleware:

看这简单的实现很想python当中的装饰器的概念,但是单独拿出来当一个模块!

相关文章

  • url调度器

    当一个用户请求Django 站点的一个页面,下面是Django 系统决定执行哪个Python 代码使用的算法: 1...

  • URL调度器

    概况 为了给一个应用设计URL,你需要创建一个Python 模块,通常被称为URLconf(URL configu...

  • Scrapy的运行机制

    列表项爬虫启动,引擎(Engine)会将起始的url传入到调度器(Scheduler)列表项调度器(Schedul...

  • 简单爬虫架构

    整理笔记,来自imooc课程 整体结构 爬虫调度端 URL管理器 网页下载器 网页解析器 URL管理器 管理待抓取...

  • 爬虫实战

    爬虫介绍 调度器 URL管理器(用来存储待抓取的链接,已经抓取过的链接) 网页下载器(消费URL管理器中待抓取的链...

  • 4.Django路由系统

    Django路由系统 URL调度器Django 允许自由地设计你的URL,不受框架束缚。Django认为,对于高质...

  • 基础爬虫框架

    爬虫调度器:负责统筹其它四个模块的协调工作。 URL管理器:维护已爬取的URL集合和未爬取的URL集合,提供获取新...

  • 爬虫的基本操作

    主要模块 主要由这几部分组成: 爬虫调度端(spider_main): 对爬虫流程进行控制 url管理器(url_...

  • Python3 简单爬虫框架

    目录 爬虫简介 调度器 URL管理器 下载器 解析器 输出器 实例 Demo 简介 爬虫是一段自动抓取互联网信息的...

  • 搜狗词库爬虫(1):基础爬虫架构和爬取词库分类

    基础爬虫架构 基础爬虫框架主要包括五大模块:爬虫调度器、URL管理器、网页下载器、网页解析器、数据存储器。 爬虫调...

网友评论

      本文标题:url调度器

      本文链接:https://www.haomeiwen.com/subject/lbhhjftx.html