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

在Django中編寫模版節(jié)點(diǎn)及注冊(cè)標(biāo)簽的方法

 更新時(shí)間:2015年07月20日 16:22:57   投稿:goldensun  
這篇文章主要介紹了在Django中編寫模版節(jié)點(diǎn)及注冊(cè)標(biāo)簽的方法,Django是Python各式各樣的高人氣框架中最為著名的一個(gè),需要的朋友可以參考下

編寫模板節(jié)點(diǎn)

編寫自定義標(biāo)簽的第二步就是定義一個(gè)擁有 render() 方法的 Node 子類。 繼續(xù)前面的例子,我們需要定義 CurrentTimeNode :

import datetime

class CurrentTimeNode(template.Node):
 def __init__(self, format_string):
  self.format_string = str(format_string)

 def render(self, context):
  now = datetime.datetime.now()
  return now.strftime(self.format_string)

這兩個(gè)函數(shù)( __init__() 和 render() )與模板處理中的兩步(編譯與渲染)直接對(duì)應(yīng)。 這樣,初始化函數(shù)僅僅需要存儲(chǔ)后面要用到的格式字符串,而 render() 函數(shù)才做真正的工作。

與模板過濾器一樣,這些渲染函數(shù)應(yīng)該靜靜地捕獲錯(cuò)誤,而不是拋出錯(cuò)誤。 模板標(biāo)簽只允許在編譯的時(shí)候拋出錯(cuò)誤。
注冊(cè)標(biāo)簽

最后,你需要用你模塊的Library 實(shí)例注冊(cè)這個(gè)標(biāo)簽。 注冊(cè)自定義標(biāo)簽與注冊(cè)自定義過濾器非常類似(如前文所述)。 只需實(shí)例化一個(gè) template.Library 實(shí)例然后調(diào)用它的 tag() 方法。 例如:

register.tag('current_time', do_current_time)

tag() 方法需要兩個(gè)參數(shù):

  1.     模板標(biāo)簽的名字(字符串)。
  2.     編譯函數(shù)。

和注冊(cè)過濾器類似,也可以在Python2.4及其以上版本中使用 register.tag裝飾器:

@register.tag(name="current_time")
def do_current_time(parser, token):
 # ...

@register.tag
def shout(parser, token):
 # ...

如果你像在第二個(gè)例子中那樣忽略 name 參數(shù)的話,Django會(huì)使用函數(shù)名稱作為標(biāo)簽名稱。

相關(guān)文章

  • Python開發(fā)時(shí)報(bào)TypeError:?‘int‘?object?is?not?iterable錯(cuò)誤的解決方式

    Python開發(fā)時(shí)報(bào)TypeError:?‘int‘?object?is?not?iterable錯(cuò)誤的解決方

    Python寫循環(huán)程序的時(shí)候遇到TypeError:'int'object is not iterable,所以下面這篇文章主要給大家介紹了關(guān)于Python開發(fā)時(shí)報(bào)TypeError:'int'?object?is?not?iterable錯(cuò)誤的解決方式,需要的朋友可以參考下
    2022-06-06
  • Python中關(guān)于matplotlib圖片的灰度處理方式

    Python中關(guān)于matplotlib圖片的灰度處理方式

    這篇文章主要介紹了Python中關(guān)于matplotlib圖片的灰度處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Django中的session用法詳解

    Django中的session用法詳解

    這篇文章主要介紹了Django中的session用法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • 使用Python?Cupy模塊加速大規(guī)模數(shù)值計(jì)算實(shí)例深究

    使用Python?Cupy模塊加速大規(guī)模數(shù)值計(jì)算實(shí)例深究

    Cupy是一個(gè)基于NumPy的庫(kù),專門設(shè)計(jì)用于在GPU上進(jìn)行高性能計(jì)算,它提供了與NumPy相似的API,因此用戶可以很容易地將現(xiàn)有的NumPy代碼遷移到Cupy上,從而充分利用GPU的并行計(jì)算能力
    2023-12-12
  • python語(yǔ)法教程之def()函數(shù)定義及用法

    python語(yǔ)法教程之def()函數(shù)定義及用法

    函數(shù)是組織好的,可重復(fù)使用的,用來實(shí)現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段,下面這篇文章主要給大家介紹了關(guān)于python語(yǔ)法教程之def()函數(shù)定義及用法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • Python利用神經(jīng)網(wǎng)絡(luò)解決非線性回歸問題實(shí)例詳解

    Python利用神經(jīng)網(wǎng)絡(luò)解決非線性回歸問題實(shí)例詳解

    這篇文章主要介紹了Python利用神經(jīng)網(wǎng)絡(luò)解決非線性回歸問題,結(jié)合實(shí)例形式詳細(xì)分析了Python使用神經(jīng)網(wǎng)絡(luò)解決非線性回歸問題的相關(guān)原理與實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-07-07
  • python抓取最新博客內(nèi)容并生成Rss

    python抓取最新博客內(nèi)容并生成Rss

    本文給大家分享的是使用python抓取最新博客內(nèi)容并生成Rss的代碼,主要用到了PyRSS2Gen方法,非常的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。
    2015-05-05
  • 詳解python中自定義超時(shí)異常的幾種方法

    詳解python中自定義超時(shí)異常的幾種方法

    這篇文章主要介紹了詳解python中自定義超時(shí)異常的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python安裝圖文教程 Pycharm安裝教程

    Python安裝圖文教程 Pycharm安裝教程

    這篇文章主要為大家詳細(xì)介紹了Pycharm及Python安裝圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 如何用Python生成二維碼、解析二維碼

    如何用Python生成二維碼、解析二維碼

    這篇文章主要介紹了如何用Python生成二維碼、解析二維碼,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03

最新評(píng)論