加载模板标签变量以在模板中使用

时间:2012-11-14 16:33:43

标签: django django-tagging

如何将模板标签的结果加载到模板中进行迭代?基本上我的目标是在模型对象上加载标签(使用django-tagging),然后遍历标签,根据这些标签创建相关产品列表。然后我想迭代这些产品对象以显示有关它们的更多信息。

Ex,我的模板标签:

@register.simple_tag
def get_rel_from_tag(tag_list):
   try:
       relproducts = UniPart.objects.filter(part__contains = partbase)
    except:
       print "no related products"
       return None
   else:
       relproducts = UniPart.objects.filter(part__contains = partbase)
       return relproducts

如何将relproducts作为变量返回?这是我在模板中调用它的方式:

{% tags_for_object design as tag_list %} {% get_rel_from_tag tag_list %}

现在基本上我想迭代一下相关的内容,但它不起作用。

2 个答案:

答案 0 :(得分:1)

simple_tag助手不允许您以这种方式将结果分配给上下文变量。请尝试使用assignment_tag

答案 1 :(得分:0)

您是否使用{% load 'your_file_name %}

加载模板标记文件

更新:尝试使用'with'来缓存来自tags_for_object_design

的结果
{% with tag_list=tags_for_object design %}