您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Django中視圖怎么用的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
隨著我們的Web站點頁面越來越多,頁面鏈接會越來越雜亂無章。因此有必要在項目一開始就對其進行管理。
1) 實現/articles/123
的效果
urls.py文件可以這么寫:
views.py實現了articles方法
這其中url()函數具有四個參數, regex和view是必填選項,kwargs和name是非必填選項 regex
: 正則表達式的縮寫。Djaogo從第一個正則表達式開始,依次對請求url進行匹配,直到找到匹配到那個為止。 view
: 目標視圖,即views.py文件中的函數。 kwargs
: 任何關鍵字參數都可以以字典形式傳遞給目標視圖。 name
: 命名你的URL, 相當于給url取個別名。 這樣就可以在Django的其它地方尤其是模板中,通過名稱來明確地引用這個URL。 這個強大的特性可以使你僅僅修改一個文件就可以改變全局的URL模式。
學到這里,你會許會有個疑問。web頁面應該含有html代碼的,為什么我沒有看到html頁面呢?我的web頁面不能單單只是一句話,應該有導航欄,內容欄,底部欄吧。要滿足這需求,則需要用到渲染模板的方法來顯示內容。
為了方便理解,引用以上篇文章的例子
test目錄下新建一個 templates 文件夾, 里面新建一個base.html 和 home.html
新建base.html目的是為了代碼復用。把一些通用的部分,例如導航,底部,訪問統計代碼等抽取出來封裝成一個頁面:nav.html、 bottom.html、 #html。
我們的首頁 home.html,繼承或者說擴展(extends)原來的 base.html,可以簡單這樣寫,重寫部分代碼(默認值的那一部分不用改)。代碼如下:
url.py文件增加相對應的url函數就行,而views.py文件就需要改動了。
使用render()函數載入一個模板進行渲染。
該函數有三個參數,將請求對象作為它的第一個參數,模板的名字作為它的第二個參數,一個字典作為它可選的第三個參數。 它返回一個HttpResponse對象,含有用給定的context 渲染后的模板。
view.py屬于View層,是用于顯示界面。但是在實際應用中,往往view的數據不是寫死的,是由模型層傳輸過來的。怎么將model層傳輸過來數據顯示在視圖上呢?Django模板算是利器,它具有循環、條件判斷、常用的標簽、過濾器等功能,這能消除我們的剛才的煩惱。
首先,我們應該知道兩個知識點。分別是:
1)標簽的寫法: 使用{% 標簽 %}
, 例如
2)變量的寫法: 使用{{ 變量 }}
, 例如
補充知識
1)在for循環中還有很多有用的東西,如下:
變量 | 描述 |
---|---|
forloop.counter | 索引從 1 開始算 |
forloop.counter0 | 索引從 0 開始算 |
forloop.revcounter | 索引從最大長度到 1 |
forloop.revcounter0 | 索引從最大長度到 0 |
forloop.first | 當遍歷的元素為第一項時為真 |
forloop.last | 當遍歷的元素為最后一項時為真 |
forloop.parentloop | 用在嵌套的 for 循環中,獲取上一層 for 循環的 forloop |
2)如果想表示空值,代碼如下
感謝各位的閱讀!關于“Django中視圖怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。