文中涉及的示例代碼,已同步更新到 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 國度的門票!從零基礎一步步帶你飛,快把這張免費的門票轉發給你的小伙伴們吧。