Django - 自定义模板标签传递关键字参数

3 投票
2 回答
4243 浏览
提问于 2025-04-16 10:47

我该如何创建一个自定义模板标签,以便在我的模板中使用关键字参数呢?

custom_templates.py

from django import template
register = template.Library()

@register.simple_tag

def custom_tag_field(value, kwarg1=False, kwarg2=False):
    t = template.loader.get_template('some_template.html')
    return t.render(template.Context({'value': value, 'kwarg1':kwarg1, 'kwarg2': kwarg2}))

template.py

{% load custom_templates  %}

....

我想像这样使用带有关键字参数的自定义模板标签:

{% custom_tag_field form.somefield "value" kwarg1="somearg1" kwarg2="somearg2" %)

2 个回答

5

现在这个功能的表现和你想的一样,具体可以查看文档

9

这里是你需要的内容:

一个标签,它可以像网址标签一样解析参数和关键字参数:

{% get_with_args_and_kwargs somevar,"sometext",kwarg1=someothervar %}

http://djangosnippets.org/snippets/1113/

撰写回答