2 – 建立 Django 部落格應用

追夢人物發表於2019-01-21

建立部落格應用

我們已經建立了 Django 部落格的專案工程,並且成功地執行了它。不過到目前為止這一切都還只是 Django 為我們建立的專案初始內容,Django 不可能為我們初始化生成部落格程式碼,這些功能性程式碼都得由我們自己編寫。

Django 鼓勵我們把自己編寫的程式碼組織到應用(Application)裡,並且最好是一個應用只提供一種功能。例如我們要開發的 Django 部落格,相關的程式碼都放在 blog 這個應用裡。其實應用也沒什麼複雜的,不過是把功能相關的程式碼組織到一個資料夾裡,這個資料夾就成了一個應用(姑且可以這樣理解)。

我們可以在 Django 工程目錄下手動地建立一個資料夾,為它取個名字,並且告訴 Django 說這是一個應用。但是我們不必做這些無聊的工作,Django 已經為我們提供了自動建立應用的命令。

現在就來建立我們的 Django 部落格應用,我把它命名為 blog。啟用虛擬環境,進入到 manage.py 檔案所在的目錄下,執行 python manage.py startapp blog 命令即可建立一個 blog 應用:

C:WINDOWSsystem32>C:UsersyangxgEnvslogproject_envScriptsactivate

(blogproject_env) C:WINDOWSsystem32>cd C:UsersyangxgWorkspacelogproject

(blogproject_env) C:UsersyangxgWorkspacelogproject>python manage.py startapp blog複製程式碼

前面已經說過,manage.py 是我們的工程管理助手。上一章中我們使用了它的 runserver 命令開啟了一個本地開發伺服器,在這裡我們使用 manage.py 的 startapp 命令建立了一個 blog 應用。

應用的目錄結構

用資源管理器開啟 manage.py 檔案所在的目錄,可以看到多了一個 blog 的目錄,該目錄下面的檔案結構如下:

blog
    __init__.py
    admin.py
    apps.py
    migrations
        __init__.py
    models.py
    tests.py
    views.py複製程式碼

不同名稱的檔案用於存放特定功能的程式碼,這些將會在後面詳細介紹。總之這個應用的資料夾結構 Django 已經為我們建立好了,但它還只是包含各種檔案的一個資料夾而已,Django 目前還不知道這是一個應用。我們得告訴 Django 這是我們建立的應用,專業一點說就是在 Django 的配置檔案中註冊這個應用。

開啟 blogproject 目錄下的 settings.py 檔案,看名字就知道 settings.py 是一個設定檔案(setting 意為設定),找到 INSTALLED_APPS 設定項,將 blog 應用新增進去。

blogproject/blogproject/settings.py

## 其他配置項...

INSTALLED_APPS = [
    `django.contrib.admin`,
    `django.contrib.auth`,
    `django.contrib.contenttypes`,
    `django.contrib.sessions`,
    `django.contrib.messages`,
    `django.contrib.staticfiles`,
       `blog`, # 註冊 blog 應用
]

## 其他配置項...複製程式碼

可以看到 Django 已經為我們提供了一些內建的應用,這些應用提供了各種各樣的功能。這就是 Django 強大的地方,通用的功能 Django 都幫我們寫好了,我們只需編寫與自身業務相關的功能程式碼即可。

總結

本章節的程式碼位於:Step2: create blog app

如果遇到問題,請通過下面的方式尋求幫助。

相關文章