欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django中模版的子目錄與include標(biāo)簽的使用方法

 更新時間:2015年07月16日 15:03:48   投稿:goldensun  
這篇文章主要介紹了Django中模版的子目錄與include標(biāo)簽的使用方法,有利于Python的Django框架的模版布局,需要的朋友可以參考下

get_template()中使用子目錄

把所有的模板都存放在一個目錄下可能會讓事情變得難以掌控。 你可能會考慮把模板存放在你模板目錄的子目錄中,這非常好。 事實上,我們推薦這樣做;一些Django的高級特性(例如將在第十一章講到的通用視圖系統(tǒng))的缺省約定就是期望使用這種模板布局。

把模板存放于模板目錄的子目錄中是件很輕松的事情。 只需在調(diào)用 get_template() 時,把子目錄名和一條斜杠添加到模板名稱之前,如:

t = get_template('dateapp/current_datetime.html')

由于 render_to_response() 只是對 get_template() 的簡單封裝, 你可以對 render_to_response() 的第一個參數(shù)做相同處理。

return render_to_response('dateapp/current_datetime.html', {'current_date': now})

對子目錄樹的深度沒有限制,你想要多少層都可以。 只要你喜歡,用多少層的子目錄都無所謂。

注意

Windows用戶必須使用斜杠而不是反斜杠。 get_template() 假定的是 Unix 風(fēng)格的文件名符號約定。

include 模板標(biāo)簽

在講解了模板加載機制之后,我們再介紹一個利用該機制的內(nèi)建模板標(biāo)簽: {% include %} 。該標(biāo)簽允許在(模板中)包含其它的模板的內(nèi)容。 標(biāo)簽的參數(shù)是所要包含的模板名稱,可以是一個變量,也可以是用單/雙引號硬編碼的字符串。 每當(dāng)在多個模板中出現(xiàn)相同的代碼時,就應(yīng)該考慮是否要使用 {% include %} 來減少重復(fù)。

下面這兩個例子都包含了 nav.html 模板。這兩個例子是等價的,它們證明單/雙引號都是允許的。

{% include 'nav.html' %}
{% include "nav.html" %}

下面的例子包含了 includes/nav.html 模板的內(nèi)容:

{% include 'includes/nav.html' %}

下面的例子包含了以變量 template_name 的值為名稱的模板內(nèi)容:

{% include template_name %}

和在 get_template() 中一樣, 對模板的文件名進(jìn)行判斷時會在所調(diào)取的模板名稱之前加上來自 TEMPLATE_DIRS 的模板目錄。

所包含的模板執(zhí)行時的 context 和包含它們的模板是一樣的。 舉例說,考慮下面兩個模板文件:

# mypage.html

<html>
<body>
{% include "includes/nav.html" %}
<h1>{{ title }}</h1>
</body>
</html>

# includes/nav.html

<div id="nav">
  You are in: {{ current_section }}
</div>

如果你用一個包含 current_section的上下文去渲染 mypage.html這個模板文件,這個變量將存在于它所包含(include)的模板里,就像你想象的那樣。

如果{% include %}標(biāo)簽指定的模板沒找到,Django將會在下面兩個處理方法中選擇一個:

  1.     如果 DEBUG 設(shè)置為 True ,你將會在 Django 錯誤信息頁面看到 TemplateDoesNotExist 異常。
  2.     如果 DEBUG 設(shè)置為 False ,該標(biāo)簽不會引發(fā)錯誤信息,在標(biāo)簽位置不顯示任何東西。


相關(guān)文章

  • django中操作mysql數(shù)據(jù)庫的方法

    django中操作mysql數(shù)據(jù)庫的方法

    對象關(guān)系映射模式是一種為了解決面向?qū)ο笈c關(guān)系數(shù)據(jù)庫存在的互不匹配的現(xiàn)象的技術(shù),這篇文章主要介紹了django中操作mysql數(shù)據(jù)庫的方法,需要的朋友可以參考下
    2022-09-09
  • Python用正則表達(dá)式實現(xiàn)爬取古詩文網(wǎng)站信息

    Python用正則表達(dá)式實現(xiàn)爬取古詩文網(wǎng)站信息

    這篇文章主要給大家介紹了關(guān)于Python如何利用正則表達(dá)式爬取爬取古詩文網(wǎng)站信息,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • python中的文件打開與關(guān)閉操作命令介紹

    python中的文件打開與關(guān)閉操作命令介紹

    下面小編就為大家分享一篇python中的文件打開與關(guān)閉操作命令介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • python3中布局背景顏色代碼分析

    python3中布局背景顏色代碼分析

    在本篇文章里小編給大家分享了一篇關(guān)于python3中布局背景顏色代碼分析的相關(guān)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)參考下。
    2020-12-12
  • 使用Python和jieba庫生成中文詞云的示例代碼

    使用Python和jieba庫生成中文詞云的示例代碼

    在文本分析和數(shù)據(jù)可視化的領(lǐng)域中,詞云是一種展示文本數(shù)據(jù)中關(guān)鍵詞頻率的直觀方式,Python作為一種強大的編程語言,提供了多種庫來幫助我們生成詞云,在本文中,我們將通過一個簡單的示例,展示如何使用Python生成中文詞云,需要的朋友可以參考下
    2024-07-07
  • 詳解Python3中setuptools、Pip安裝教程

    詳解Python3中setuptools、Pip安裝教程

    這篇文章主要介紹了詳解Python3中setuptools、Pip安裝教程,文中給大家提到了注意事項,需要的朋友可以參考下
    2019-06-06
  • 用 Python 寫的文檔批量翻譯工具效果竟然超出想象

    用 Python 寫的文檔批量翻譯工具效果竟然超出想象

    這篇文章主要介紹了用 Python 寫的文檔批量翻譯工具,效果竟然超越付費軟件,這個非常適合python辦公自動化腳本,非常不錯,實現(xiàn)方法也很簡單,需要的朋友可以參考下
    2021-05-05
  • 用Python3創(chuàng)建httpServer的簡單方法

    用Python3創(chuàng)建httpServer的簡單方法

    今天小編就為大家分享一篇用Python3創(chuàng)建httpServer的簡單方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python問題匯總之pycharm查找不到安裝的庫解決

    python問題匯總之pycharm查找不到安裝的庫解決

    這篇文章主要給大家介紹了關(guān)于python問題匯總之pycharm查找不到安裝庫的解決方法,PyCharm是一款非常流行的Python集成開發(fā)環(huán)境(IDE),它提供了豐富的功能和插件,可以幫助程序員更高效地編寫Python代碼,需要的朋友可以參考下
    2023-09-09
  • python 用for循環(huán)實現(xiàn)1~n求和的實例

    python 用for循環(huán)實現(xiàn)1~n求和的實例

    今天小編就為大家分享一篇python 用for循環(huán)實現(xiàn)1~n求和的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02

最新評論