Django中的路由及子应用
路由
1. 定义
路由表:url与后端视图函数的一个映射关系表
web应用调用后端服务:前端访问url获取页面 --> 后端调用指定函数func(a, b, ...)
2. 路由匹配规则
①urlpatterns自上而下开始匹配
②一旦匹配成功,将调用path第二个参数所指定的视图函数,并且不会再向下匹配
③若url匹配不成功,则页面返回404
④路由信息一般以'/'结尾
⑤在子应用下定义子路由,主路由中使用include('子应用名.urls')来加载子路由,若url第一部分匹配,则剩下部分会被拿到子路由中匹配。
1 urlpatterns = [
2 path('projects/', views.ProjectsInfo.as_view()),
3 path('projects/<int:pk>', views.ProjectsInfo.as_view()),
4 ]
3. 路由分发
在子路由中,将url和需要调用的视图函数之间进行映射,全局路由对各个应用进行绑定,利用include加载子路由,从而实现路由的分发,便于根据不同的应用来管理各自的url,减少代码维护成本
1 urlpatterns = [
2 path('apiDetail/', include('interfaces.urls')),
3 ]
子应用
1. 子应用的作用
· 实现业务功能模块的复用
· 将工程项目拆分为不同的子功能模块,以子应用的形式存在
· 各功能模块之间可以保持相对的独立
· 实现路由的分发,便于管理各模块的url,减少代码维护成本
2. 创建一个子应用
1)python manage.py startapp projects
2)注册
在全局配置文件settings中的INSTALLED_APPS列表,添加子应用
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 添加子应用名
'projects',
'interfaces',
]
3)在views.py中创建视图函数
4)在urls.py中配置路由信息
子路由表:将url和需要调用的视图函数之间进行映射
全局路由表:使用include加载子路由
3. 目录结构
migrations 存放数据库迁移脚本历史记录等信息
admin.py:admin后台站点的相关配置
apps.py:app label的相关配置
models.py:存放数据库模型相关信息
test.py:对当前子应用进行自测,单元测试
views.py:子应用视图
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2018-07-12 Linux下zkui的安装