專案 (Project) vs. 應用程式 (App)
在 Django 中,專案和應用程式是兩個不同的概念:
- 專案 (Project):整個網站的容器。它包含所有設定,例如資料庫、路由、和啟用的應用程式。一個專案可以包含多個應用程式。
- 應用程式 (App):一個獨立的、可重複使用的模組,專門處理特定功能。例如,一個部落格網站可以有
blog(部落格文章)、user(使用者管理)和comment(留言)三個應用程式。
這種架構的好處是,你的程式碼可以分門別類,易於管理和維護。
建立應用程式
現在,讓我們在 myproject 專案中建立一個名為 blog 的應用程式。
-
確保你的虛擬環境已啟動,並且你的命令提示字元位於專案根目錄(也就是
manage.py所在的資料夾)。 -
執行以下命令:
python manage.py startapp blogpython manage.py:使用manage.py這個工具來執行操作。startapp:命令的名稱,用來建立一個新的應用程式。blog:你所建立的應用程式名稱。
執行完成後,你的專案目錄會多出一個名為 blog 的資料夾。現在的檔案結構看起來會像這樣:
.
├── myproject/
│ ├── ... (所有 myproject 的設定檔)
└── blog/
│ ├── migrations/
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
└── manage.py
了解應用程式檔案結構
讓我們簡要地看一下 blog 資料夾裡面的檔案:
migrations/:存放資料庫遷移檔案的資料夾。當你修改模型(資料庫結構)時,Django 會在這裡產生檔案來同步資料庫。__init__.py:一個空的 Python 檔案,表示這是一個 Python 套件。admin.py:用來設定 Django 後台管理介面的檔案。你可以在這裡註冊你的模型,讓它們出現在後台中。apps.py:應用程式的配置檔案。models.py:最重要的檔案之一,你將在這裡定義你的資料庫模型(例如,一篇部落格文章、一個使用者帳號)。tests.py:用來編寫單元測試的檔案。views.py:另一個重要的檔案。你將在這裡定義「視圖」(View)函數,來處理網頁請求並返回回應。
將應用程式加入專案
單獨建立應用程式還不夠,你還需要告訴你的專案,你已經新增了一個新的應用程式。
-
打開專案的設定檔:
myproject/settings.py。 -
找到
INSTALLED_APPS列表,在其中加入你的新應用程式'blog'。# myproject/settings.py INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'blog', # 新增這一行 ]確保你在
'blog'後面加上了逗號,這是 Python 列表的慣例。