建立應用 app
接續要開始建立應用app,其實就是網站每個頁面的功能(路由、操作者的需求處理與回饋)。
cmd
py manage.py startapp myapp
檔案結構
cmd
myproject/
manage.py
|_myapp/
|_ __init__.py
|_ admin.py (管理者介面)
|_ app.py (app應用設定)
|_ migrations/ (資料庫移轉使用)
|_ __init__.py
|_ models.py (資料庫模型)
|_ test.py (測試程式debug使用)
|_ views.py (操作者需求處理與回饋)
|_myproject/

註冊應用 app
在 Django 中,只要每次有新的應用 app,都必須註冊到 settings.py 及 urls.py 兩個檔案內,才能正式啟用。
- 註冊專案 :
在settings.py註冊有2種方式 :
py
...
INSTALLED_APPS=[
...
'myapp.apps.MyappConfig',
# 或
'myapp'
]
...
官方所提的 Applications 設定,這裡提到兩個設定,一個是 myapp.apps.MyappConfig,另一個是 myapp。
TIP
在 setting.py 中,有需多線上教學都有 import os,好像是之後為了WSGI環境設置用的。官方 On the server (mod_wsgi)
- 註冊路由 :
py
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
# admin是預設的管理者介面
path("admin/", admin.site.urls),
# 這裡是新增路由
path("hello/", include("myapp.urls")),
]
DANGER
- 必須要在
django.urls先引入include。 - path ( 路由名 , include(指定app子路由))
- 通常指定子路由時,會在應用
app內增加urls.py設定子路由。
App的運作
test.py、apps.py比較沒有設定關聯性。 
移除APP
有建立當然也有移除,步驟有一定規則:
- App資料夾內除了
__init__.py及models.py兩個檔案 +migrations資料夾 外,其餘都可以先刪除。 - 刪除
models.py內的所有程式碼。 - 執行更新資料庫與遷移更新,這樣會自動偵測已刪除的資料庫,然後更新。cmd
py manage.py makemigrations py manage.py migrate - 刪除所有App資料,記得註冊在
settings.py、ulrs.py內的資訊也要手動刪除。 - 重新部署,會出現提示確認是否要刪除;不過官方是沒有提到這一步驟。cmd
python manage.py remove_stale_contenttypes --include-stale-apps