使用include_tag decorater和动态模板

时间:2011-01-04 15:01:18

标签: django django-templates templatetags

以下是标准包含标记:

@register.inclusion_tag('results.html')
def show_results(poll):
...

我想知道是否可以使用包含标记,动态定义模板标记。例如:

@register.inclusion_tag('%s.html' % PATH)
def show_results(poll, PATH):
 ...

`

1 个答案:

答案 0 :(得分:1)

不,这是不可能的,因为那不是装饰器(或者通常是Python函数)的工作方式。首次导入模块时会评估参数。

您需要编写正确的自定义标记,而不使用inclusion_tag快捷方式装饰器。这实际上并不是那么难,文档向您展示了如何。