在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** 視圖函數所在文件
- 1.介紹
- 2.工程搭建
- 2.1.環境配置
- 2.2.創建工程
- 2.3.創建子應用
- 2.3.1.pycharm打開項目
- 2.4.創建視圖
- 3.基本配置
- 3.1.settings基本配置項
- 3.2.路由配置
- 4.請求響應
- 4.1.request
- 4.2.response
- 4.3.cookie
- 4.4.session
- 5.類視圖中間件
- 5.1.類視圖
- 5.2中間件
- 6.數據庫
- 6.1.數據庫配置
- 6.2定義模型類
- 6.3數據庫遷移
- 6.4數據庫操作
- 6.5查詢集
- 6.6模型管理器
- 7.模板表單
- 7.1使用模板
- 7.2模板標簽
- 7.3表單
- 8.后臺管理
- 8.1Admin
- 8.2自定義模型類樣式
- 8.3列表頁