如何在模板中使用Django自定义模板标记?

use*_*345 0 python django django-templates

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

def mytag(para):
    return something
Run Code Online (Sandbox Code Playgroud)

在我的模板中,我得到了一个值{{value}}.现在我正在使用{{value|mytag}}将标记应用于值,并且它抛出了语法错误.

Aar*_*ron 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 }}
Run Code Online (Sandbox Code Playgroud)