黃玉書(shū)
(武漢軟件工程職業(yè)學(xué)院,湖北 武漢 430205)
Django 是一個(gè)開(kāi)源Web 應(yīng)用框架[1],使用Python語(yǔ)言編寫(xiě),Django 提供了許多網(wǎng)站后臺(tái)開(kāi)發(fā)經(jīng)常用到的模塊,可以使開(kāi)發(fā)者能夠?qū)W⒂跇I(yè)務(wù)部分,便于快速搭建高性能、優(yōu)雅的網(wǎng)站。
Django 借用了MVC 的設(shè)計(jì)模式,使用MTV 的框架模式[2]。該架構(gòu)中的三部分組成分別為:模型(M)、模板(T)、視圖(V)。各部分說(shuō)明如表1 所示。

表1 MTV 框架模式說(shuō)明
在Django 項(xiàng)目中,數(shù)據(jù)模型在models.py 文件中定義;模板文件主要是在Templates 目錄下存儲(chǔ)的,Templates 目錄需手動(dòng)創(chuàng)建與配置;業(yè)務(wù)邏輯是在視圖文件views.py 中實(shí)現(xiàn)。除此之外,還有一個(gè)用于實(shí)現(xiàn)路由分發(fā)功能的urls.py 文件也在Django 項(xiàng)目中有著非常重要的作用。
Django 工作流程示意圖如圖1 所示。
啟動(dòng)項(xiàng)目后,打開(kāi)瀏覽器并輸入要訪問(wèn)的URL 后回車(chē),瀏覽器會(huì)向Web 服務(wù)器發(fā)起請(qǐng)求,Web 服務(wù)器會(huì)將請(qǐng)求傳遞到要處理該請(qǐng)求的Django 項(xiàng)目,項(xiàng)目中的urls.py 文件根據(jù)URL 地址將請(qǐng)求交給views.py 中相應(yīng)的視圖進(jìn)行處理(此時(shí)涉及數(shù)據(jù)存取,通過(guò)models.py 文件與數(shù)據(jù)庫(kù)交互),并將處理結(jié)果發(fā)送給模板進(jìn)行渲染,最后將響應(yīng)數(shù)據(jù)返回到Web 服務(wù)器。
安裝Python 3.7.4 版本、安裝PyCharm 工具并配置好Python 解釋器、安裝Django2.2.4 版本。
打開(kāi)PyCharm,在終端(Terminal)中,輸入如下命令創(chuàng)建libManage 項(xiàng)目。
在終端(Terminal)中輸入如下命令。
找到libManage 子文件夾中的settings.py 文件中的INSTALLED_APPS 字段,然后在該字段的末尾添加一行代碼“‘bookApp’,”將應(yīng)用添加到項(xiàng)目中。
在bookApp應(yīng)用中的models.py文件[3]中創(chuàng)建“圖書(shū)”(Book)模型。編寫(xiě)如下代碼:
模型創(chuàng)建完成后需要將創(chuàng)建的模型同步到數(shù)據(jù)庫(kù)系統(tǒng)中,在終端(Terminal)中輸入命令“python mana ge.py makemigrations”,然后在終端(Terminal)中輸入命令“python manage.py migrate”完成數(shù)據(jù)庫(kù)模型的同步操作。
在bookApp 應(yīng)用下的views.py 文件中編寫(xiě)視圖處理函數(shù),代碼如下所示。
在“圖書(shū)信息”頁(yè)面使用了Bootstrap3 系列版本的前端框架。在bookApp 應(yīng)用下創(chuàng)建一個(gè)static 文件夾,將官網(wǎng)下載的Bootstrap3 源碼中的css、fonts 和js 子文件夾拷貝到static 文件夾中。
在bookApp 應(yīng)用下新建一個(gè)templates 文件夾,并新建一個(gè)index.html文件,展示圖書(shū)信息,代碼如下所示。
在項(xiàng)目子文件夾libManage 中的urls.py 文件中配置訪問(wèn)路由,編寫(xiě)如下代碼。
Django 提供了一個(gè)現(xiàn)成高效的后臺(tái)管理系統(tǒng),在創(chuàng)建項(xiàng)目的過(guò)程中已經(jīng)自動(dòng)生成了一個(gè)編輯的后臺(tái)。能夠根據(jù)定義的模型自動(dòng)生成管理模塊,使用Django的功能的需要?jiǎng)?chuàng)建超級(jí)管理員和注冊(cè)模型類(lèi)[4]。
(1)創(chuàng)建超級(jí)管理員。在終端(Terminal)中輸入命令“python manage.py createsuperuser”根據(jù)彈出提示信息完成超級(jí)管理員的創(chuàng)建。
(2)注冊(cè)模型類(lèi)。在bookApp 應(yīng)用中的admin.py文件,編寫(xiě)如下代碼。
在終端輸入命令“python manage.py runserver”啟動(dòng)項(xiàng)目,在瀏覽器中輸入http://127.0.0.1:8000/admin 出現(xiàn)Django 后臺(tái)管理系統(tǒng)登錄界面。輸入超級(jí)管理員的用戶(hù)名和密碼登錄。登錄成功后,向Books 模型中添加幾條圖書(shū)信息數(shù)據(jù)。
打開(kāi)瀏覽器,輸入網(wǎng)址http://127.0.0.1:8000/,訪問(wèn)“圖書(shū)信息”頁(yè)面如圖2 所示。
通過(guò)Django 后臺(tái)管理系統(tǒng)對(duì)創(chuàng)建的圖書(shū)模型進(jìn)行增刪改的操作,前端頁(yè)面也會(huì)隨之變化,實(shí)現(xiàn)了圖書(shū)信息的管理功能。這樣就搭建好了一個(gè)基于Django 的簡(jiǎn)易圖書(shū)管理系統(tǒng)。
Django 框架自帶大量常用工具,結(jié)合Django 項(xiàng)目默認(rèn)的SQLite3 數(shù)據(jù)庫(kù)完成了簡(jiǎn)易的圖書(shū)管理系統(tǒng)開(kāi)發(fā)。使用Django 框架進(jìn)行Python Web 開(kāi)發(fā)可以非常方便、快捷地完成Web 開(kāi)發(fā),同時(shí)Django 自帶的后臺(tái)管理系統(tǒng)也便于系統(tǒng)的維護(hù)和管理。