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

Posted

技术标签:

【中文标题】Django - 自定义模板标签传递关键字参数【英文标题】:Django - Custom Template Tag passing keyword args 【发布时间】:2011-06-17 05:57:38 【问题描述】:

如何创建自定义模板标签以在模板中使用关键字参数?

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))

模板.py

% load custom_templates  %

....

我想使用带有关键字参数的自定义模板标签,如下所示:

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

【问题讨论】:

【参考方案1】:

你来了:

一个像url标签一样解析args和kwargs的标签:

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

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

【讨论】:

【参考方案2】:

现在这项工作如您所愿,请参阅docs。

【讨论】:

以上是关于Django - 自定义模板标签传递关键字参数的主要内容,如果未能解决你的问题,请参考以下文章

接受布尔参数的 Django 自定义模板标签

如何在自定义模板标签中传递 url 标签?

django自定义模板标签中的访问请求,使用标签装饰器

Django 自定义标签

在 Django 模板标签中传递请求

django 第五课自定义模板过滤器与标签