創建APP
在Django中的一個app代表一個功能模塊。開發者可以將不同功能的模塊放在不同的app中, 方便代碼的複用。app就是項目的基石,因此開發博客的第一步就是創建新的app,用來實現跟文章相關的功能模塊。
打開命令行,進入項目所在的目錄:(注意Django的操作必須在虛擬環境下進行)
E:\>cd django_project
E:\django_project>
進入虛擬環境(忘記進入venv方法的看這裏: 在Windows中搭建Django的開發環境):
E:\django_project> env\Scripts\activate.bat
(env) E:\>
看到盤符前有(env)
標識則表示進入虛擬環境成功。
輸入python manage.py startapp article
指令,創建名爲article
的app
:
(env) E:\django_project\my_blog>python manage.py startapp article
查看一下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
項目結構分解如下:
根目錄my_blog
下有兩個文件:db.sqlite3是一個輕量級的數據庫文件,用來存儲項目產生的數據,比如博客文章;manage.py
是項目執行命令的入口,比如runserver。
目錄article
是剛創建出來的app,用來放置博客文章相關的代碼:後臺管理文件admin.py
,數據模型文件models.py,視圖文件views.py
,存放數據遷移文件的目錄migrations
。
根目錄下還有一個my_blog
目錄,其中的settings.py包含項目的配置參數,urls.py則是項目的根路由文件。
目前你需要了解的就這麼多,後面的章節都會用到。剩下還有一些沒講到的文件可以暫時不管它,碰到時再查資料。
註冊APP(settings)
接着我們需要修改項目配置文件,“告訴”Django
現在有article
這麼一個app
了。
打開my_blog
目錄的settings.py
,找到INSTALLED_APPS
寫入如下代碼:
my_blog/settings.py
INSTALLED_APPS = [
# 其他代碼
...
# 新增'article'代碼,激活app
'article',
]
配置訪問路徑(urls)
然後再給app
配置訪問路徑url
。
url
可以理解爲訪問網站時輸入的網址鏈接,配置好url
後Django
才知道怎樣定位app
。
打開my_blog
目錄下的urls.py
,增加以下代碼:
my_blog/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
。
在開發環境下,article的url爲:http://127.0.0.1:8000/article/
還沒結束。現在我們已經通過path
將根路徑爲article
的訪問都分發給article
這個app
去處理。但是app通常有多個頁面地址,因此還需要app
自己也有一個路由分發,也就是article.urls
了。
article可以有多個頁面,如列表頁面、詳情頁面等,那麼就需要如下兩個url:
http://127.0.0.1:8000/article/list/
http://127.0.0.1:8000/article/detail/
app 中的 urls.py 就是用來區分它們的。
在app
生成時並沒有這個文件,因此需要自己在article
文件夾中創建urls.py
,在裏面輸入:
article/urls.py
# 引入path
from django.urls import path
# 正在部署的應用的名稱
app_name = 'article'
urlpatterns = [
# 目前還沒有urls
]
urlpatterns
中暫時是空的,沒寫入任何路徑的映射,不着急以後會寫。
此時我們的app
就配置完成了。
注意此時
app
還沒有寫好,因此啓動服務器可能會報錯,是正常的。
Django2.0
之後,app
的urls.py
必須配置app_name
,否則會報錯。
總結
本章創建了博客文章功能的app
,學習了註冊app
並配置url
。
下一章開始編寫模型Model
,理解Django
的數據庫處理。
創作不易,點個贊吧!!
版權聲明:如無特殊說明,文章均爲本站原創,轉載請註明出處
本文鏈接:https://blog.csdn.net/wsad861512140