Django路由分发

首先明白一点,Django的每一个应用下都可以有自己的templates文件夹,urls.py文件夹,static文件夹,基于这个特点,Django能够很好的做到分组开发(每个人只写自己的app),作为老大,就可以把每个人写的app全部拷贝到一个新的Django项目,然后在配置文件里面注册所有的app再利用路由分发的特点将所有app整合起来。

当一个Django项目中的url特别多的时候,总路由urls.py代码非常冗余不好维护,这个时候也可以利用路由分发来减轻总路由的压力。

利用路由分发之后,总路由不再做路由与视图函数的直接对应关系,而是做一个分发处理,

识别当前url是属于哪个应用下的,直接分发给对应的应用去处理

在每个app中自己建一个urls.py文件

每个应用下urls代码如下

python 复制代码
from django.urls import path
from app01 import views
urlpatterns = [
    path('reg',views.reg)
]

总路由urls代码

python 复制代码
from django.contrib import admin
from django.urls import path,include
#这里做路由分发引入了一个include

from app01 import urls as app01_urls
from app02 import urls as app02_urls
from app03 import urls as app03_urls
urlpatterns = [
    path('admin/', admin.site.urls),
    #路由分发
    path('app01/',include(app01_urls)),
    path('app02/',include(app02_urls)),
    path('app03/',include(app03_urls)),
]

终极写法

python 复制代码
from django.contrib import admin
from django.urls import path,include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('app01/',include('app01.urls')),
    path('app02/',include('app02.urls')),
    path('app03/',include('app03.urls')),
]
相关推荐
2301_778658801 小时前
【Python训练营打卡】day40 @浙大疏锦行
python
西京刀客1 小时前
python常用库-pandas、Hugging Face的datasets库(大模型之JSONL(JSON Lines))
python·json·数据集·pandas·模型训练·datasets
zeijiershuai1 小时前
SpringBoot Controller接收参数方式, @RequestMapping
java·spring boot·后端
Lilith的AI学习日记1 小时前
n8n 中文系列教程_25.在n8n中调用外部Python库
开发语言·人工智能·python·机器学习·chatgpt·ai编程·n8n
zybsjn1 小时前
后端项目中静态文案国际化语言包构建选型
java·后端·c#
老大白菜1 小时前
构建多模型协同的Ollama智能对话系统
python·ollama
L2ncE1 小时前
ES101系列07 | 分布式系统和分页
java·后端·elasticsearch
无限大62 小时前
《计算机“十万个为什么”》之前端与后端
前端·后端·程序员
初次见面我叫泰隆2 小时前
Golang——2、基本数据类型和运算符
开发语言·后端·golang
南风lof2 小时前
ReentrantLock与AbstractQueuedSynchronizer源码解析,一文读懂底层原理
后端