路由表:url与后端视图函数的一个映射关系表
web应用调用后端服务:前端访问url获取页面 --> 后端调用指定函数func(a, b, ...)
①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 ]
在子路由中,将url和需要调用的视图函数之间进行映射,全局路由对各个应用进行绑定,利用include加载子路由,从而实现路由的分发,便于根据不同的应用来管理各自的url,减少代码维护成本
1 urlpatterns = [
2 path(‘apiDetail/‘, include(‘interfaces.urls‘)),
3 ]
· 实现业务功能模块的复用
· 将工程项目拆分为不同的子功能模块,以子应用的形式存在
· 各功能模块之间可以保持相对的独立
· 实现路由的分发,便于管理各模块的url,减少代码维护成本
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加载子路由
migrations 存放数据库迁移脚本历史记录等信息
admin.py:admin后台站点的相关配置
apps.py:app label的相关配置
models.py:存放数据库模型相关信息
test.py:对当前子应用进行自测,单元测试
views.py:子应用视图
原文:https://www.cnblogs.com/jiuyue-flamen/p/13289403.html