創(chuàng)建APP
**在Django中的一個app代表一個功能模塊。**開發(fā)者可以將不同功能的模塊放在不同的app中, 方便代碼的復用。app就是項目的基石,因此開發(fā)博客的第一步就是創(chuàng)建新的app,用來實現(xiàn)跟文章相關的功能模塊。
打開命令行,進入項目所在的目錄:(注意Django的操作必須在虛擬環(huán)境下進行)
E:\>cd django_project
E:\django_project>
進入虛擬環(huán)境(忘記進入venv方法的看這里: 在Windows中搭建Django的開發(fā)環(huán)境):
E:\django_project> env\Scripts\activate.bat
(env) E:\>
看到盤符前有(env)標識則表示進入虛擬環(huán)境成功。
輸入python manage.py startapp article指令,創(chuàng)建名為article的app:
(env) E:\django_project\my_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文件夾就是剛創(chuàng)建出來的app,用來放置博客文章相關的代碼。
注冊APP(settings)
接著我們需要修改項目配置文件,“告訴”Django現(xiàn)在有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的路由語法。參數(shù)article/分配了app的訪問路徑;include將路徑分發(fā)給下一步處理;namespace可以保證反查到唯一的url,即使不同的app使用了相同的url(后面會用到)。記得在頂部引入include。
**還沒結束。**現(xiàn)在我們已經通過path將根路徑為article/的訪問都分發(fā)給article這個app去處理。但是app通常有多個頁面地址,因此還需要app自己也有一個路由分發(fā),也就是article.urls了。
在app生成時并沒有這個文件,因此需要自己在article/文件夾中創(chuàng)建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就配置完成了。
總結
本章創(chuàng)建了博客文章功能的app,學習了注冊app并配置url。
下一章開始編寫模型Model,理解Django的數(shù)據庫處理。
轉載請告知作者并注明出處。
|