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')),
]
相关推荐
嘻嘻嘻嘻嘻嘻ys几秒前
《Spring Boot 3响应式架构实战:R2DBC驱动的高并发数据持久化革命》
前端·后端
小镇cxy1 分钟前
Java开发,实践MCP
后端
木昜先生4 分钟前
知识点:深入理解 JVM 内存管理与垃圾回收
java·jvm·后端
115432031q7 分钟前
基于SpringBoot+Vue实现的旅游景点预约平台功能十三
java·前端·后端
灏瀚星空16 分钟前
从基础到实战的量化交易全流程学习:1.3 数学与统计学基础——概率与统计基础 | 基础概念
笔记·python·学习·金融·概率论
Java门外汉19 分钟前
在SpringBoot中,@GetMapper和@RequestMapping有什么区别?
后端
vocal20 分钟前
谷歌第七版Prompt Engineering—第二部分
人工智能·后端
Hellohistory22 分钟前
HOTP 算法与实现解析
后端·python
伊织code23 分钟前
cached-property - 类属性缓存装饰器
python·缓存·cache·装饰器·ttl·property·cached-property
半个脑袋儿23 分钟前
Java日期格式化中的“YYYY”陷阱:为什么跨年周会让你的年份突然+1?
java·后端