Django中視圖怎么用

這篇文章給大家分享的是有關(guān)Django中視圖怎么用的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

成都創(chuàng)新互聯(lián)是一家業(yè)務(wù)范圍包括IDC托管業(yè)務(wù),網(wǎng)頁(yè)空間、主機(jī)租用、主機(jī)托管,四川、重慶、廣東電信服務(wù)器租用,服務(wù)器機(jī)柜租賃,成都網(wǎng)通服務(wù)器托管,成都服務(wù)器租用,業(yè)務(wù)范圍遍及中國(guó)大陸、港澳臺(tái)以及歐美等多個(gè)國(guó)家及地區(qū)的互聯(lián)網(wǎng)數(shù)據(jù)服務(wù)公司。

自定義視圖

隨著我們的Web站點(diǎn)頁(yè)面越來(lái)越多,頁(yè)面鏈接會(huì)越來(lái)越雜亂無(wú)章。因此有必要在項(xiàng)目一開(kāi)始就對(duì)其進(jìn)行管理。 
1) 實(shí)現(xiàn)/articles/123的效果 
urls.py文件可以這么寫(xiě):

Django中視圖怎么用

views.py實(shí)現(xiàn)了articles方法

Django中視圖怎么用

這其中url()函數(shù)具有四個(gè)參數(shù), regex和view是必填選項(xiàng),kwargs和name是非必填選項(xiàng) 
regex: 正則表達(dá)式的縮寫(xiě)。Djaogo從第一個(gè)正則表達(dá)式開(kāi)始,依次對(duì)請(qǐng)求url進(jìn)行匹配,直到找到匹配到那個(gè)為止。 
view: 目標(biāo)視圖,即views.py文件中的函數(shù)。 
kwargs: 任何關(guān)鍵字參數(shù)都可以以字典形式傳遞給目標(biāo)視圖。 
name: 命名你的URL, 相當(dāng)于給url取個(gè)別名。 這樣就可以在Django的其它地方尤其是模板中,通過(guò)名稱來(lái)明確地引用這個(gè)URL。 這個(gè)強(qiáng)大的特性可以使你僅僅修改一個(gè)文件就可以改變?nèi)值腢RL模式。


模板

學(xué)到這里,你會(huì)許會(huì)有個(gè)疑問(wèn)。web頁(yè)面應(yīng)該含有html代碼的,為什么我沒(méi)有看到html頁(yè)面呢?我的web頁(yè)面不能單單只是一句話,應(yīng)該有導(dǎo)航欄,內(nèi)容欄,底部欄吧。要滿足這需求,則需要用到渲染模板的方法來(lái)顯示內(nèi)容。 


為了方便理解,引用以上篇文章的例子 
test目錄下新建一個(gè) templates 文件夾, 里面新建一個(gè)base.html 和 home.html 
新建base.html目的是為了代碼復(fù)用。把一些通用的部分,例如導(dǎo)航,底部,訪問(wèn)統(tǒng)計(jì)代碼等抽取出來(lái)封裝成一個(gè)頁(yè)面:nav.html、 bottom.html、 #html。

Django中視圖怎么用

我們的首頁(yè) home.html,繼承或者說(shuō)擴(kuò)展(extends)原來(lái)的 base.html,可以簡(jiǎn)單這樣寫(xiě),重寫(xiě)部分代碼(默認(rèn)值的那一部分不用改)。代碼如下:

Django中視圖怎么用

url.py文件增加相對(duì)應(yīng)的url函數(shù)就行,而views.py文件就需要改動(dòng)了。 
使用render()函數(shù)載入一個(gè)模板進(jìn)行渲染。 


該函數(shù)有三個(gè)參數(shù),將請(qǐng)求對(duì)象作為它的第一個(gè)參數(shù),模板的名字作為它的第二個(gè)參數(shù),一個(gè)字典作為它可選的第三個(gè)參數(shù)。 它返回一個(gè)HttpResponse對(duì)象,含有用給定的context 渲染后的模板。

Django中視圖怎么用

3
部署運(yùn)行

view.py屬于View層,是用于顯示界面。但是在實(shí)際應(yīng)用中,往往view的數(shù)據(jù)不是寫(xiě)死的,是由模型層傳輸過(guò)來(lái)的。怎么將model層傳輸過(guò)來(lái)數(shù)據(jù)顯示在視圖上呢?Django模板算是利器,它具有循環(huán)、條件判斷、常用的標(biāo)簽、過(guò)濾器等功能,這能消除我們的剛才的煩惱。 


首先,我們應(yīng)該知道兩個(gè)知識(shí)點(diǎn)。分別是: 
1)標(biāo)簽的寫(xiě)法: 使用{% 標(biāo)簽 %}, 例如

Django中視圖怎么用

2)變量的寫(xiě)法: 使用{{ 變量 }}, 例如

Django中視圖怎么用

補(bǔ)充知識(shí) 
1)在for循環(huán)中還有很多有用的東西,如下:

變量描述
forloop.counter索引從 1 開(kāi)始算
forloop.counter0索引從 0 開(kāi)始算
forloop.revcounter索引從最大長(zhǎng)度到 1
forloop.revcounter0索引從最大長(zhǎng)度到 0
forloop.first當(dāng)遍歷的元素為第一項(xiàng)時(shí)為真
forloop.last當(dāng)遍歷的元素為最后一項(xiàng)時(shí)為真
forloop.parentloop用在嵌套的 for 循環(huán)中,獲取上一層 for 循環(huán)的 forloop

2)如果想表示空值,代碼如下

Django中視圖怎么用

感謝各位的閱讀!關(guān)于“Django中視圖怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

當(dāng)前標(biāo)題:Django中視圖怎么用
文章鏈接:http://muchs.cn/article0/ihipio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)、商城網(wǎng)站云服務(wù)器、品牌網(wǎng)站建設(shè)虛擬主機(jī)、網(wǎng)頁(yè)設(shè)計(jì)公司

廣告

聲明:本網(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)站