在之前的项目中,所有的URL都是写在<项目名>/<项目名>/urls.py(即:主路由)中了。如果URL数量少还好,如果我们有很多很多(几十上百)个URL要写,那么要是全写在主路由中就太混乱了,通常开发团队会分小组分功能的做一个项目,一个小组负责一个应用,那么多不同的应用(小组)的各种URL都写在了同一个文件中。。。这简直和屎一样!!!
如何让各个小组或部门各干各的,互不干涉呢?这就是分布式的策略。
这个问题Django也考虑到了,解决方案就是——分布式路由
Django中,主路由配置文件(即:urls.py)可以不处理用户具体路由,主路由配置文件可以做请求的分发(分布式请求处理)。具体的请求可以由各自的应用来自行处理。
原理如下图:
配置分布式路由的方法如下:
1. 主路由中调用include函数,语法:include(app名, url模块名)
作用:用于将当前路由转到各个应用的路由配置文件(各应用下的urls.py)的urlpatterns进行分布式处理。
以 https://127.0.0.1:8000/music/index 为例,主路由中配置如下:
2. 在应用下配置urls.py,手动创建urls.py文件,内容结构和主路由完全一样,如下:
配置完成!
测试:启动服务器,在浏览器中输入 https://127.0.0.1:8000/music/index/