python django-基本檔案結構-3

專案 (Project) vs. 應用程式 (App)

在 Django 中,專案應用程式是兩個不同的概念:

  • 專案 (Project):整個網站的容器。它包含所有設定,例如資料庫、路由、和啟用的應用程式。一個專案可以包含多個應用程式。
  • 應用程式 (App):一個獨立的、可重複使用的模組,專門處理特定功能。例如,一個部落格網站可以有 blog(部落格文章)、user(使用者管理)和 comment(留言)三個應用程式。

這種架構的好處是,你的程式碼可以分門別類,易於管理和維護。

建立應用程式

現在,讓我們在 myproject 專案中建立一個名為 blog 的應用程式。

  1. 確保你的虛擬環境已啟動,並且你的命令提示字元位於專案根目錄(也就是 manage.py 所在的資料夾)。

  2. 執行以下命令:

    python manage.py startapp blog
    
    • python 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)函數,來處理網頁請求並返回回應。

將應用程式加入專案

單獨建立應用程式還不夠,你還需要告訴你的專案,你已經新增了一個新的應用程式。

  1. 打開專案的設定檔:myproject/settings.py

  2. 找到 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 列表的慣例。