1

templatetagの結果をテンプレートにロードして反復処理するにはどうすればよいですか?基本的には、(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 %}

基本的に、今はrelatedprodを繰り返し処理したいのですが、機能していません。

4

2 に答える 2

1

ヘルパーでは、このsimple_tag方法で結果をコンテキスト変数に割り当てることはできません。assignment_tag代わりに使用してみてください。

于 2012-11-14T16:44:24.447 に答える
0

を使用してテンプレートタグファイルをロードしましたか{% load 'your_file_name %}

更新:「with」を使用してtags_for_object_designからの結果をキャッシュしてみてください

{% with tag_list=tags_for_object design %}
于 2012-11-14T16:35:39.130 に答える