Djangoweb開(kāi)發(fā)系列(八)之快速入門(mén)實(shí)例教程

一 前言

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供港南企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)、H5建站、小程序制作等業(yè)務(wù)。10年已為港南眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。

前面幾節(jié)以圖書(shū)管理系統(tǒng)開(kāi)發(fā)為切入點(diǎn),對(duì)Django涉及的幾個(gè)核心概念點(diǎn)進(jìn)行了介紹,但缺乏連貫性。本文將從頭到尾完成一個(gè)簡(jiǎn)單的實(shí)例項(xiàng)目,把Django開(kāi)發(fā)流程串聯(lián)一遍,對(duì)想了解或?qū)W習(xí)Django Web開(kāi)發(fā)的同學(xué)應(yīng)該會(huì)有一點(diǎn)幫助。

?

二 Django入門(mén)實(shí)例

1.?????準(zhǔn)備開(kāi)發(fā)環(huán)境

以windows系統(tǒng)為例,提前安裝好Python3、Django2、Pycharm,在此不再贅述。

2.?????創(chuàng)建Django項(xiàng)目

打開(kāi)pycharm,fileànew projectàDjango,填寫(xiě)項(xiàng)目Location和python解釋器后,點(diǎn)擊create,即可完成項(xiàng)目創(chuàng)建,如圖:

Django web開(kāi)發(fā)系列(八)之快速入門(mén)實(shí)例教程

以上目錄及文件是創(chuàng)建項(xiàng)目時(shí)自動(dòng)生成的。

?

3.?????創(chuàng)建APP

每個(gè)項(xiàng)目可以有多個(gè)app,每個(gè)app可以理解成項(xiàng)目的子模塊,所以app共享項(xiàng)目資源。

在pycharm的terminal輸入以下命令,創(chuàng)建名為login的app,如下:

Django web開(kāi)發(fā)系列(八)之快速入門(mén)實(shí)例教程

命令執(zhí)行后,項(xiàng)目Demo目錄下會(huì)自動(dòng)生成login目錄及一系列文件。

?

4.?????編寫(xiě)路由

路由的作用是將瀏覽器發(fā)送的url請(qǐng)求轉(zhuǎn)發(fā)到對(duì)應(yīng)的視圖函數(shù),如圖:

Django web開(kāi)發(fā)系列(八)之快速入門(mén)實(shí)例教程

在項(xiàng)目核心目錄urs.py里增加路由,匹配到index的請(qǐng)求都轉(zhuǎn)發(fā)到login的index視圖函數(shù)進(jìn)行處理。

?

5.?????編寫(xiě)視圖函數(shù)

路由轉(zhuǎn)發(fā)的請(qǐng)求由視圖函數(shù)處理,即業(yè)務(wù)邏輯實(shí)現(xiàn)部分,在app的views.py里編寫(xiě),即定義并實(shí)現(xiàn)視圖函數(shù),如圖:

Django web開(kāi)發(fā)系列(八)之快速入門(mén)實(shí)例教程

?

6.?????啟動(dòng)WEB服務(wù)

在pycharm的terminal輸入如下命令,啟動(dòng)web服務(wù)器(IP:PORT根據(jù)實(shí)際情況修改):

python manage.py runserver 127.0.0.1:8080

?

啟動(dòng)后,在瀏覽器訪問(wèn)http://127.0.0.1:8080/index/,即可看到后臺(tái)視圖函數(shù)返回的結(jié)果,如圖:

Django web開(kāi)發(fā)系列(八)之快速入門(mén)實(shí)例教程

到這里,你的web應(yīng)用已經(jīng)能夠正常運(yùn)行了,整個(gè)流程已經(jīng)通了,接下來(lái),我們進(jìn)一步返回html頁(yè)面,而不是一個(gè)簡(jiǎn)單的字符串。

?

7.?????使用模板返回html頁(yè)面

1) 右鍵點(diǎn)擊templates目錄->new->html,新建一個(gè)html文件,編寫(xiě)簡(jiǎn)單html如下:

Django web開(kāi)發(fā)系列(八)之快速入門(mén)實(shí)例教程

定義了一個(gè)簡(jiǎn)單的html文件,通過(guò)視圖函數(shù)傳入wx_name變量并展示。

2) 當(dāng)返回html頁(yè)面時(shí),修改視圖函數(shù)如下:

Django web開(kāi)發(fā)系列(八)之快速入門(mén)實(shí)例教程

通過(guò)render返回定義的index.html頁(yè)面,且傳入了wx_name的變量值“小蟒社區(qū)”。你可能會(huì)疑惑,它怎么找到我們定義的index.html呢?

3) 配置templates目錄

為了讓渲染頁(yè)面時(shí)找到html文件,需要在settings.py里配置路徑,如下:

Django web開(kāi)發(fā)系列(八)之快速入門(mén)實(shí)例教程

4) 再次瀏覽器訪問(wèn)http://127.0.0.1:8080/index/,即可看到后臺(tái)視圖函數(shù)返回的html頁(yè)面,如圖:

Django web開(kāi)發(fā)系列(八)之快速入門(mén)實(shí)例教程

8.?????實(shí)現(xiàn)前后臺(tái)交互

上面我們已經(jīng)可以發(fā)送index的get請(qǐng)求,且返回期望的頁(yè)面。接下來(lái),再看下如何整一個(gè)可以和后臺(tái)交互的post請(qǐng)求。假定我們有個(gè)很簡(jiǎn)單的login頁(yè)面,輸入用戶名登錄后,返回hello 用戶名。

1) 新建模擬post請(qǐng)求的login頁(yè)面

為了讓頁(yè)面顯得稍微好看一點(diǎn),使用先前介紹的Bootstrap框架化個(gè)狀吧。在pycharm項(xiàng)目目錄,新建一個(gè)static目錄,然后再建一個(gè)js目錄存放jQuery,并且把下載的Bootstrap目錄也放到static里,目錄結(jié)構(gòu)如圖:

Django web開(kāi)發(fā)系列(八)之快速入門(mén)實(shí)例教程

同樣,為了讓Django能夠找到我們新建的static目錄,在settings.py里增加如下配置項(xiàng):

STATIC_URL?=?'/static/'
?
STATICFILES_DIRS?=?[os.path.join(BASE_DIR,?"static"),]

?

2) 在templates目錄新建login.html

像新建index頁(yè)面一樣,再創(chuàng)建一個(gè)login頁(yè)面,html簡(jiǎn)單如下:

Django web開(kāi)發(fā)系列(八)之快速入門(mén)實(shí)例教程

?

3) 增加login的路由及對(duì)應(yīng)的視圖函數(shù)login,如下:

Django web開(kāi)發(fā)系列(八)之快速入門(mén)實(shí)例教程

?

4) 訪問(wèn)login頁(yè)面http://127.0.0.1:8080/login/,如圖:

Django web開(kāi)發(fā)系列(八)之快速入門(mén)實(shí)例教程

?

5) 輸入用戶名 張三、密碼111,點(diǎn)擊提交按鈕,響應(yīng)如圖:

Django web開(kāi)發(fā)系列(八)之快速入門(mén)實(shí)例教程

9.?????使用數(shù)據(jù)庫(kù)

限于篇幅原因,使用數(shù)據(jù)庫(kù)部分不再寫(xiě)了,有興趣可以自行查看相關(guān)資料,或者參考本系列文章——Django web開(kāi)發(fā)系列(三)模型與管理后臺(tái),有介紹默認(rèn)數(shù)據(jù)sqllite及模型遷移的兩個(gè)命令。

?

10.??其他

關(guān)于python學(xué)習(xí)、分享、交流,筆者開(kāi)通了微信公眾號(hào)【小蟒社區(qū)】,感興趣的朋友可以關(guān)注下,歡迎加入,建立屬于我們自己的小圈子,一起學(xué)python。

?

當(dāng)前題目:Djangoweb開(kāi)發(fā)系列(八)之快速入門(mén)實(shí)例教程
文章分享:http://muchs.cn/article34/pihgpe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、電子商務(wù)、外貿(mào)網(wǎng)站建設(shè)App開(kāi)發(fā)、Google用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司