ランダムイメージをグラデーションすると、tag.rand_imgのtitle、url(etc)属性が消滅します。つまり、オブジェクト名以外は表示できません。タグ付きライブラリからランダムな項目を選択する
view.py:
def locations_gallery(request):
queryset = Photo.objects.all()
tags = Tag.objects.usage_for_queryset(queryset, counts=True)
tags.sort(key=operator.attrgetter('count'), reverse=True)
for tag in tags:
image_tag = Tag.objects.get(name=tag)
tag.rand_img = TaggedItem.objects.get_union_by_model(Photo, image_tag).order_by('?')[:1]
ctxt['tags'] = tags
return render_to_response('locations_gallery.html', ctxt, RequestContext(request))
テンプレート(簡体字):
tags = Tag.objects.usage_for_queryset(queryset, counts=True)
tags.sort(key=operator.attrgetter('count'), reverse=True)
し、それらを反復処理し、追加します。
{% for tag in tags %}
{{ tag.name }}
<img src="{{ tag.rand_img.url }}">
{% endfor %}
画像を余分なフィールドとして追加するにはどうすればよいですか?それは私が立ち往生しているビットです。 –
'tag.rand_img = img'だけで十分だと思います。 –
tag.rand_img = tagは、オブジェクトにtitle、urlなどの属性をすべて失わせます。 –