多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
在Web应用中,通常有一些业务功能模块是在不同的项目中都可以复用的,故在开发中通常将工程项目拆分为不同的子功能模块,各功能模块间可以保持相对的独立,在其他工程项目中需要用到某个特定功能模块时,可以将该模块代码整体复制过去,达到复用。 在Flask框架中也有类似子功能应用模块的概念,即蓝图Blueprint。 Django的视图编写是放在子应用中的。 ## 创建子应用 在 `manager.py` 文件所在目录执行命令 ``` python manage.py startapp 子应用名称 ``` 例如,在刚刚创建的 `django_project` 项目创建子应用 `demo` ,执行命令 ``` python manage.py startapp demo ``` 会在项目文件夹下创建子应用文件夹 `demo` 此时的项目结构如下 ``` ├── django_project │   ├── __init__.py │   ├── __pycache__ │   │   ├── __init__.cpython-35.pyc │   │   ├── settings.cpython-35.pyc │   │   ├── urls.cpython-35.pyc │   │   └── wsgi.cpython-35.pyc │   ├── settings.py │   ├── urls.py │   └── wsgi.py ├── manage.py ├── db.sqlite3 ├── demo │   ├── admin.py │   ├── apps.py │   ├── __init__.py │   ├── migrations │   │   └── __init__.py │   ├── models.py │   ├── tests.py │   └── views.py └── ``` - **admin.py** 当前应用后台管理相关配置 - **apps.py** 当前应用相关信息配置 - **__init__.py** 一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包 - **migrations** 用于记录数据库迁移相关操作 - **models.py** 存放数据库模型类 - **test.py** 编写单元测试所在文件 - **views** 视图函数所在文件