Градирование случайного изображения приводит к тому, что атрибуты title, url (etc) в tag.rand_img исчезают, то есть я не могу отображать ничего больше, чем имя объекта.Выбор случайного элемента из помеченной библиотеки
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))
Шаблон (упрощенно):
{% for tag in tags %}
{{ tag.name }}
<img src="{{ tag.rand_img.url }}">
{% endfor %}
Как вы добавляете изображение в качестве дополнительного поля? Я немного застрял. –
Я думаю, что достаточно просто выполнить 'tag.rand_img = img'. –
tag.rand_img = тег заставляет объект потерять все его атрибуты, такие как title, url и т. Д. –