【问题标题】:How do I use a Django custom template tag in a template?如何在模板中使用 Django 自定义模板标签?
【发布时间】:2010-09-16 11:04:09
【问题描述】:

我写了一个自定义模板标签:

def mytag(para):
    return something

在我的模板中,我得到了一个值{{value}}。现在我使用{{value|mytag}} 将标签应用于值,它会引发语法错误。

【问题讨论】:

  • -1。你有什么理由看不懂非常清晰的文档吗?
  • @Daniel:也许 Alis 误解了文档——一个人清楚的东西并不总是其他人都清楚。你有什么理由不能忽略你认为太简单的问题?

标签: python django django-templates


【解决方案1】:

您的示例看起来像一个过滤器。如果这就是你想要的,那很简单。 Paul 到文档的链接应该提供一个相当清晰的解释,说明如何以及为什么要做这些事情。不过,这里有一个快速入门,应该可以帮助您启动并运行。

  1. 在您的应用中创建一个名为“templatetags”的文件夹,其中包含一个空的 __init__.py 文件
  2. 创建一个文件来保存您的自定义标签,我们现在会说“tags.py”。

您的 tags.py 文件应如下所示:

从 django 导入模板 注册=模板.库() @register.filter def mytag(段): 返回“东西”

然后,在您的模板中,您首先必须加载自定义标签,然后您才能访问它。

{% load tags %}

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

【讨论】:

    【解决方案2】:

    要在 Django 中使用模板标签,请将标签的名称包含在 {%%} 中,如下所示:

    {% mytag %}
    

    如果你的标签需要一个参数,就像你的一样,你可以在标签名称之后传递参数:

    {% mytag value %}
    

    您尝试使用的语法 - {{ value|mytag }} 用于模板过滤器,而不是标签。

    【讨论】:

      猜你喜欢
      • 2015-01-20
      • 2021-07-13
      • 2012-03-15
      • 2017-07-29
      • 2014-03-20
      • 2010-11-15
      • 2010-12-13
      • 2022-11-25
      相关资源
      最近更新 更多