2010-09-16 142 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 }} 
相关问题