建立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的資料庫處理。
- 有疑問請在杜賽的個人網站留言,我會盡快回復。
- 或Email私信我:dusaiphoto@foxmail.com
- 專案完整程式碼:Django_blog_tutorial
轉載請告知作者並註明出處。