最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解在Python的Django框架中創(chuàng)建模板庫的方法

 更新時間:2015年07月20日 12:12:52   投稿:goldensun  
這篇文章主要介紹了在Python的Django框架中創(chuàng)建模板庫的方法,模版庫通常用來管理單獨的Django中的應(yīng)用,需要的朋友可以參考下

不管是寫自定義標(biāo)簽還是過濾器,第一件要做的事是創(chuàng)建模板庫(Django能夠?qū)氲幕窘Y(jié)構(gòu))。

創(chuàng)建一個模板庫分兩步走:

    第一,決定模板庫應(yīng)該放在哪個Django應(yīng)用下。 如果你通過 manage.py startapp 創(chuàng)建了一個應(yīng)用,你可以把它放在那里,或者你可以為模板庫單獨創(chuàng)建一個應(yīng)用。 我們更推薦使用后者,因為你的filter可能在后來的工程中有用。

    無論你采用何種方式,請確保把你的應(yīng)用添加到 INSTALLED_APPS 中。 我們稍后會解釋這一點。

    第二,在適當(dāng)?shù)腄jango應(yīng)用包里創(chuàng)建一個 templatetags 目錄。 這個目錄應(yīng)當(dāng)和 models.py 、 views.py 等處于同一層次。 例如:

books/
  __init__.py
  models.py
  templatetags/
  views.py

    在 templatetags 中創(chuàng)建兩個空文件: 一個 __init__.py (告訴Python這是 一個包含了Python代碼的包)和一個用來存放你自定義的標(biāo)簽/過濾器定義的文件。 第二個文件的名字稍后將用來加載標(biāo)簽。 例如,如果你的自定義標(biāo)簽/過濾器在一個叫作 poll_extras.py 的文件中,你需要在模板中寫入如下內(nèi)容:

{% load poll_extras %}

    {% load %} 標(biāo)簽檢查 INSTALLED_APPS 中的設(shè)置,僅允許加載已安裝的Django應(yīng)用程序中的模板庫。 這是一個安全特性;它可以讓你在一臺電腦上部署很多的模板庫的代碼,而又不用把它們暴露給每一個Django安裝。

如果你寫了一個不和任何特定模型/視圖關(guān)聯(lián)的模板庫,那么得到一個僅包含 templatetags 包的Django應(yīng)用程序包是完全正常的。 對于在 templatetags 包中放置多少個模塊沒有做任何的限制。 需要了解的是:{%load%}語句是通過指定的Python模塊名而不是應(yīng)用名來加載標(biāo)簽/過濾器的。

一旦創(chuàng)建了Python模塊,你只需根據(jù)是要編寫過濾器還是標(biāo)簽來相應(yīng)的編寫一些Python代碼。

作為合法的標(biāo)簽庫,模塊需要包含一個名為register的模塊級變量。這個變量是template.Library的實例,是所有注冊標(biāo)簽和過濾器的數(shù)據(jù)結(jié)構(gòu)。 所以,請在你的模塊的頂部插入如下語句:

from django import template

register = template.Library()

注意

請閱讀Django默認(rèn)的過濾器和標(biāo)簽的源碼,那里有大量的例子。 他們分別為: django/template/defaultfilters.py 和 django/template/defaulttags.py 。django.contrib中的某些應(yīng)用程序也包含模板庫。

創(chuàng)建 register 變量后,你就可以使用它來創(chuàng)建模板的過濾器和標(biāo)簽了。

相關(guān)文章

  • Python優(yōu)化算法之遺傳算法案例代碼

    Python優(yōu)化算法之遺傳算法案例代碼

    優(yōu)化算法,尤其是啟發(fā)式的仿生智能算法在最近很火,它適用于解決管理學(xué),運(yùn)籌學(xué),統(tǒng)計學(xué)里面的一些優(yōu)化問題,這篇文章主要介紹了Python優(yōu)化算法—遺傳算法,需要的朋友可以參考下
    2023-02-02
  • Python生成隨機(jī)驗證碼代碼實例解析

    Python生成隨機(jī)驗證碼代碼實例解析

    這篇文章主要介紹了Python生成隨機(jī)驗證碼代碼實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • Django forms表單 select下拉框的傳值實例

    Django forms表單 select下拉框的傳值實例

    今天小編就為大家分享一篇Django forms表單 select下拉框的傳值實例。具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python如何爬取51cto數(shù)據(jù)并存入MySQL

    Python如何爬取51cto數(shù)據(jù)并存入MySQL

    這篇文章主要介紹了Python如何爬取51cto數(shù)據(jù)并存入MySQL,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • Python通過UDP傳輸超過64k的信息

    Python通過UDP傳輸超過64k的信息

    在UDP中,單個數(shù)據(jù)包的最大尺寸通常受到網(wǎng)絡(luò)層的限制,這通常被稱為最大傳輸單元(MTU),在以太網(wǎng)環(huán)境中,標(biāo)準(zhǔn)的MTU大小通常為1500字節(jié),下面是一個Python示例,展示了如何通過UDP發(fā)送和接收超過64KB的數(shù)據(jù),需要的朋友可以參考下
    2024-08-08
  • tensorflow 打印內(nèi)存中的變量方法

    tensorflow 打印內(nèi)存中的變量方法

    今天小編就為大家分享一篇tensorflow 打印內(nèi)存中的變量方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • 圖文詳解Python中模塊或py文件導(dǎo)入(超詳細(xì)!)

    圖文詳解Python中模塊或py文件導(dǎo)入(超詳細(xì)!)

    導(dǎo)入文件目的就是為了執(zhí)行文件,下面這篇文章主要給大家介紹了關(guān)于Python中模塊或py文件導(dǎo)入的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • Python自動掃描出微信不是好友名單的方法

    Python自動掃描出微信不是好友名單的方法

    很多人想要清楚已經(jīng)被刪除的好友名單。面對龐大的好友數(shù)量想要清除談何容易,本文主要介紹了Python自動掃描出微信不是好友名單的方法,感興趣的可以了解一下
    2021-05-05
  • Python中__init__的用法和理解示例詳解

    Python中__init__的用法和理解示例詳解

    在Python中定義類經(jīng)常會用到__init__函數(shù)(方法),首先需要理解的是,兩個下劃線開頭的函數(shù)是聲明該屬性為私有,不能在類的外部被使用或訪問,從文字理解比較困難,下面通過示例代碼幫助大家理解__init__在python中用法,感興趣的朋友一起看看吧
    2023-02-02
  • python名片管理系統(tǒng)開發(fā)

    python名片管理系統(tǒng)開發(fā)

    這篇文章主要為大家詳細(xì)介紹了python名片管理系統(tǒng)開發(fā),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06

最新評論

河东区| 广河县| 大石桥市| 嵊州市| 抚顺县| 敦煌市| 敦化市| 泾川县| 金溪县| 高尔夫| 雷州市| 中宁县| 陕西省| 会理县| 洛川县| 临漳县| 始兴县| 余江县| 通州市| 镇宁| 蓬溪县| 灵台县| 荣昌县| 闵行区| 莱阳市| 绥德县| 南陵县| 米脂县| 和平区| 阿克苏市| 普兰县| 罗江县| 钦州市| 洪泽县| 上高县| 巴青县| 得荣县| 安阳县| 塘沽区| 舞阳县| 永福县|