一 前言
在成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司中從網(wǎng)站色彩、結(jié)構(gòu)布局、欄目設(shè)置、關(guān)鍵詞群組等細(xì)微處著手,突出企業(yè)的產(chǎn)品/服務(wù)/品牌,幫助企業(yè)鎖定精準(zhǔn)用戶,提高在線咨詢和轉(zhuǎn)化,使成都網(wǎng)站營(yíng)銷成為有效果、有回報(bào)的無錫營(yíng)銷推廣。成都創(chuàng)新互聯(lián)專業(yè)成都網(wǎng)站建設(shè)十多年了,客戶滿意度97.8%,歡迎成都創(chuàng)新互聯(lián)客戶聯(lián)系。前面幾節(jié)以圖書管理系統(tǒng)開發(fā)為切入點(diǎn),對(duì)Django涉及的幾個(gè)核心概念點(diǎn)進(jìn)行了介紹,但缺乏連貫性。本文將從頭到尾完成一個(gè)簡(jiǎn)單的實(shí)例項(xiàng)目,把Django開發(fā)流程串聯(lián)一遍,對(duì)想了解或?qū)W習(xí)Django Web開發(fā)的同學(xué)應(yīng)該會(huì)有一點(diǎn)幫助。
二 Django入門實(shí)例
1.?????準(zhǔn)備開發(fā)環(huán)境
以windows系統(tǒng)為例,提前安裝好Python3、Django2、Pycharm,在此不再贅述。
2.?????創(chuàng)建Django項(xiàng)目
打開pycharm,fileànew projectàDjango,填寫項(xiàng)目Location和python解釋器后,點(diǎn)擊create,即可完成項(xiàng)目創(chuàng)建,如圖:
以上目錄及文件是創(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,如下:
命令執(zhí)行后,項(xiàng)目Demo目錄下會(huì)自動(dòng)生成login目錄及一系列文件。
4.?????編寫路由
路由的作用是將瀏覽器發(fā)送的url請(qǐng)求轉(zhuǎn)發(fā)到對(duì)應(yīng)的視圖函數(shù),如圖:
在項(xiàng)目核心目錄urs.py里增加路由,匹配到index的請(qǐng)求都轉(zhuǎn)發(fā)到login的index視圖函數(shù)進(jìn)行處理。
5.?????編寫視圖函數(shù)
路由轉(zhuǎn)發(fā)的請(qǐng)求由視圖函數(shù)處理,即業(yè)務(wù)邏輯實(shí)現(xiàn)部分,在app的views.py里編寫,即定義并實(shí)現(xià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)后,在瀏覽器訪問http://127.0.0.1:8080/index/,即可看到后臺(tái)視圖函數(shù)返回的結(jié)果,如圖:
到這里,你的web應(yīng)用已經(jīng)能夠正常運(yùn)行了,整個(gè)流程已經(jīng)通了,接下來,我們進(jìn)一步返回html頁面,而不是一個(gè)簡(jiǎn)單的字符串。
7.?????使用模板返回html頁面
1) 右鍵點(diǎn)擊templates目錄->new->html,新建一個(gè)html文件,編寫簡(jiǎn)單html如下:
定義了一個(gè)簡(jiǎn)單的html文件,通過視圖函數(shù)傳入wx_name變量并展示。
2) 當(dāng)返回html頁面時(shí),修改視圖函數(shù)如下:
通過render返回定義的index.html頁面,且傳入了wx_name的變量值“小蟒社區(qū)”。你可能會(huì)疑惑,它怎么找到我們定義的index.html呢?
3) 配置templates目錄
為了讓渲染頁面時(shí)找到html文件,需要在settings.py里配置路徑,如下:
4) 再次瀏覽器訪問http://127.0.0.1:8080/index/,即可看到后臺(tái)視圖函數(shù)返回的html頁面,如圖:
8.?????實(shí)現(xiàn)前后臺(tái)交互
上面我們已經(jīng)可以發(fā)送index的get請(qǐng)求,且返回期望的頁面。接下來,再看下如何整一個(gè)可以和后臺(tái)交互的post請(qǐng)求。假定我們有個(gè)很簡(jiǎn)單的login頁面,輸入用戶名登錄后,返回hello 用戶名。
1) 新建模擬post請(qǐng)求的login頁面
為了讓頁面顯得稍微好看一點(diǎn),使用先前介紹的Bootstrap框架化個(gè)狀吧。在pycharm項(xiàng)目目錄,新建一個(gè)static目錄,然后再建一個(gè)js目錄存放jQuery,并且把下載的Bootstrap目錄也放到static里,目錄結(jié)構(gòu)如圖:
同樣,為了讓Django能夠找到我們新建的static目錄,在settings.py里增加如下配置項(xiàng):
STATIC_URL?=?'/static/' ? STATICFILES_DIRS?=?[os.path.join(BASE_DIR,?"static"),]2) 在templates目錄新建login.html
像新建index頁面一樣,再創(chuàng)建一個(gè)login頁面,html簡(jiǎn)單如下:
3) 增加login的路由及對(duì)應(yīng)的視圖函數(shù)login,如下:
4) 訪問login頁面http://127.0.0.1:8080/login/,如圖:
5) 輸入用戶名 張三、密碼111,點(diǎn)擊提交按鈕,響應(yīng)如圖:
9.?????使用數(shù)據(jù)庫
限于篇幅原因,使用數(shù)據(jù)庫部分不再寫了,有興趣可以自行查看相關(guān)資料,或者參考本系列文章——Django web開發(fā)系列(三)模型與管理后臺(tái),有介紹默認(rèn)數(shù)據(jù)sqllite及模型遷移的兩個(gè)命令。
10.??其他
關(guān)于python學(xué)習(xí)、分享、交流,筆者開通了微信公眾號(hào)【小蟒社區(qū)】,感興趣的朋友可以關(guān)注下,歡迎加入,建立屬于我們自己的小圈子,一起學(xué)python。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。