【问题标题】:Loading template tag variables for use in template加载模板标签变量以在模板中使用
【发布时间】:2012-11-14 16:33:43
【问题描述】:

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

例如,我的模板标签:

@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 %}

现在基本上我现在想迭代相关产品,但它不起作用。

【问题讨论】:

    标签: django django-tagging


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      你是否使用{% load 'your_file_name %}加载了模板标签文件

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

      {% with tag_list=tags_for_object design %}
      

      【讨论】:

      • 是的,它与tags_for_object 模板标签在同一个文件中,该标签工作正常并正确返回tag_list
      猜你喜欢
      • 1970-01-01
      • 2021-06-02
      • 2013-06-05
      • 2021-02-15
      • 1970-01-01
      • 2014-03-20
      • 2016-11-21
      • 1970-01-01
      相关资源
      最近更新 更多