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')),
]
相关推荐
安然无虞2 分钟前
Python自动化测试·Selenium操控元素的方法
python·selenium·测试工具
ITender10 分钟前
Nacos 迁移引发 Full GC 问题深度分析
后端·面试
Gatlin11 分钟前
逆向学习:我为什么放着文档不看,直接读字节码
后端
我不是外星人11 分钟前
一键还原任意网站,这套 Playwright + 多 Agent 工程流太猛了
前端·后端·ai编程
浩瀚之水_csdn15 分钟前
Python 3 网络编程详解:从原理到实战
开发语言·网络·python
geovindu16 分钟前
java: Singleton Pattern
java·开发语言·后端·单例模式·设计模式·创建型模式
满怀冰雪17 分钟前
24_中间件系统源码分析_Middleware链的洋葱模型与异常处理
人工智能·python·中间件·langchain
江华森18 分钟前
03-python-包与模块异常处理
python
Nturmoils19 分钟前
JOIN 不是拼上就完事,多表查询这几个坑先跑一遍
数据库·后端
AI行业学习25 分钟前
2026 版 Notepad++ 完整图文安装指南|官方渠道无捆绑,一键切换中文界面
开发语言·人工智能·python·html·notepad++