Django搭建個人部落格:建立並配置APP功能模組

杜賽發表於2019-02-16

建立APP

在Django中的一個app代表一個功能模組。開發者可以將不同功能的模組放在不同的app中, 方便程式碼的複用。app就是專案的基石,因此開發部落格的第一步就是建立新的app,用來實現跟文章相關的功能模組。

開啟命令列,進入專案所在的目錄:(注意Django的操作必須在虛擬環境下進行)

E:>cd django_project
E:django_project>

進入虛擬環境(忘記進入venv方法的看這裡: 在Windows中搭建Django的開發環境):

 E:django_project> envScriptsactivate.bat
(env) E:>

看到碟符前有(env)標識則表示進入虛擬環境成功。

輸入python manage.py startapp article指令,建立名為article的app:

(env) E:django_projectmy_blog>python manage.py startapp article

檢視一下my_blog資料夾,應該看到這樣的結構:

my_blog
│  db.sqlite3
│  manage.py
│
├─article
│  │  admin.py
│  │  apps.py
│  │  models.py
│  │  tests.py
│  │  views.py
│  │  __init__.py
│  │
│  └─migrations
│          __init__.py
│
└─my_blog
    │  settings.py
    │  urls.py
    │  wsgi.py
    └─ __init__.py

其中article資料夾就是剛建立出來的app,用來放置部落格文章相關的程式碼。

註冊APP(settings)

接著我們需要修改專案配置檔案,“告訴”Django現在有article這麼一個app了。

開啟根目錄的settings.py,找到INSTALLED_APPS寫入如下程式碼:

settings.py/

INSTALLED_APPS = [
    # 其他程式碼
    ...
    
    # 新增`article`程式碼,啟用app
    `article`,
]

配置訪問路徑(urls)

然後再給app配置訪問路徑url。

url可以理解為訪問網站時輸入的網址連結,配置好url後Django才知道怎樣定位app。

開啟根目錄下的urls.py,增加以下程式碼:

urls.py/

from django.contrib import admin
# 記得引入include
from django.urls import path, include

# 存放對映關係的列表
urlpatterns = [
    path(`admin/`, admin.site.urls),

    # 新增程式碼,配置app的url
    path(`article/`, include(`article.urls`, namespace=`article`)),
]

path為Django的路由語法。引數article/分配了app的訪問路徑;include將路徑分發給下一步處理;namespace可以保證反查到唯一的url,即使不同的app使用了相同的url(後面會用到)。記得在頂部引入include

還沒結束。現在我們已經通過path將根路徑為article/的訪問都分發給article這個app去處理。但是app通常有多個頁面地址,因此還需要app自己也有一個路由分發,也就是article.urls了。

在app生成時並沒有這個檔案,因此需要自己在article/資料夾中建立urls.py,在裡面輸入:

article/urls.py

# 引入path
from django.urls import path

# 正在部署的應用的名稱
app_name = `article`

urlpatterns = [
    # 目前還沒有urls
]

urlpatterns中暫時是空的,沒寫入任何路徑的對映,不著急以後會寫。

注意Django2.0之後,app的urls.py必須配置app_name,否則會報錯。

此時我們的app就配置完成了。

總結

本章建立了部落格文章功能的app,學習了註冊app並配置url。

下一章開始編寫模型Model,理解Django的資料庫處理。

轉載請告知作者並註明出處。

相關文章