文中涉及的示例程式碼,已同步更新到 HelloGitHub-Team 倉庫
建立部落格應用
我們已經建立了 django 部落格的專案工程,並且成功地執行了它。不過到目前為止這一切都還只是 django 為我們建立的專案初始內容,django 不可能為我們初始化生成部落格程式碼,這些功能性程式碼都得由我們自己編寫。
Django 鼓勵我們把自己編寫的程式碼組織到應用(Application)裡,並且最好是一個應用只提供一種功能。例如我們要開發的 django 部落格,相關的程式碼都放在 blog 這個應用裡。其實應用也沒什麼特殊的,不過是把功能相關的程式碼組織到一個資料夾裡,這個資料夾就成了一個應用(姑且可以這樣理解)。
我們可以在 django 工程目錄下手動地建立一個資料夾,為它取個名字,並且告訴 django 說這是一個應用。但是我們不必做這些無聊的工作,django 已經為我們提供了自動建立應用的命令。
現在就來建立我們的 django 部落格應用,我把它命名為 blog。進入到 manage.py 檔案所在的目錄(即專案根目錄)下,執行 pipenv run python manage.py startapp blog
命令即可建立一個 blog 應用:
> pipenv run 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 的配置檔案中註冊這個應用。
開啟 HelloDjango-blog-tutorial 目錄下的 settings.py 檔案,看名字就知道 settings.py 是一個設定檔案(setting 意為設定),找到 INSTALLED_APPS
設定項,將 blog 應用新增進去。
HelloDjango-blog-tutorial/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 都幫我們寫好了,我們只需編寫與自身業務相關的功能程式碼即可。
每週免費贈送 2 張去往 django 國度的門票!從零基礎一步步帶你飛,快把這張免費的門票轉發給你的小夥伴們吧。