一、作用
进行复用
将工程项目拆分为不同的子功能模块
各功能模块间可以保持相对独立
可以将模块代码整体复制过去
二、创建步骤
创建子项目
推荐子应用名为小写复数形式,不要使用中文
python manage.py startapp 子应用名 # python manage.py startapp projects
注册
在全局配置文件setting.py中的INSTALLED_APPS列表添加子应用:子应用名.apps.子应用名首字母大写Config
创建子应用视图
配置路由
前端获取一个页面,其实就相当于调用后端的一个函数
路由起到承接前端和后端的交互
路由表:url与后端视图函数是一一对应的关系
使用规则:在urls.py模块下的urlpatterns字段列表中定义
e.g 如果url第一部分匹配成功,那么会将url剩下的部分拿到子路由中
path(‘page’, include(‘projects.urls’))
匹配规则
从列表的第一个元素开始(从上到下)开始匹配
一但匹配成功,会自动调用path第二个参数所指定的视图函数
一但匹配成功后,不会再往下匹配
如果匹配不成功,会返回一个状态码为404的页面
url路由信息,推荐使用“/”结尾
可以在子应用中定义子路由,子应用名/urls.py中来定义
可以使用include函数来加载子路由,第一个参数为字符串(“子应用名.urls”)
如果url第一部分匹配成功,那么会将url剩下的部分拿到子路由中去匹配
三、子应用目录和文件说明
projects/migrations:存放数据库迁移脚本和迁移历史记录等信息
projects/admin.py:admin后台站点的相关配置(需要后台站点时才会用到)
projects/apps.py:为app label的相关配置
projects/models.py:存放数据库模型相关信息
projects/tests.py:对当前的子应用进行自测的单元测试
projects/views.py:子应用视图,定义业务逻辑
四、录屏示例