2010-09-16 97 views
0

我寫了一個自定義模板標籤:如何在模板中使用Django自定義模板標籤?

def mytag(para): 
    return something 

在我的模板,我得到一個值{{value}}。現在,我使用{{value|mytag}}將標記應用於該值,並引發語法錯誤。

+0

如何使用mytag。? – user12345 2010-09-16 11:11:41

+0

-1。是否有任何理由不能閱讀極其清晰的文檔? – 2010-09-16 11:43:11

+2

@丹尼爾:也許阿里斯誤解了文檔 - 對於一個人來說清楚的事情並不總是對其他人都清楚。你有什麼理由不能忽視你認爲太簡單的問題嗎? – 2010-09-16 11:51:08

回答

2

要在Django中使用模板標籤,您纏繞標籤的名稱{%%},像這樣:

{% mytag %} 

如果您的代碼需要一個參數,因爲你好像,你傳遞的參數後標籤的名稱:

​​

語法您試圖使用 - {{ value|mytag }}是模板過濾器,而不是標籤。

5

你的例子看起來像一個過濾器。如果這就是你想要的,那很簡單。保羅與文檔的鏈接應該提供一個相當清晰的解釋,說明如何以及爲什麼要做。這裏有一個快速啓動,但應該讓你啓動並運行。

  1. 創建一個名爲「templatetags」一個空的__init__.py文件
  2. 創建一個文件來保存您的自定義標籤您的應用程序文件夾時,我們會說「tags.py」現在。

您tags.py文件應該是這個樣子:

 
from django import template 
register = template.Library() 

@register.filter 
def mytag(para): 
    return 'something' 

然後,在你的模板,你首先必須加載您的自定義標籤,那麼你就可以訪問它。

{% load tags %} 

My new value is: {{ value|mytag }}