2010-11-21 15 views
0

İlk olarak bir Django acemi, bu yüzden sakin ol;)Django: şablon için bir de sorl-küçük resim Herşeyden

Ben döngü için içinde bazı küçük resimler yapmaya çalışıyorum - sonraki şey Sayfalandırmayı olacak

{% for item in object_list %} 
    <li>{{ item.name }}</a></li> 
    {% endfor %} 

ve ayrıca bu kullanarak views.py/öğe şablonunda sorl-küçük resim çalışması başardı: ya group_by ama her seferinde bir sorun)

şey bu ettik olduğunu (sadece tek bir öğe için çalışır)

def get_item(request, item_slug): 
    item = get_object_or_404(Item, slug_name=item_slug) 
    # get() returned more than one 
    # img = item.images.get() 
    imgs = item.images.filter(is_poster=True) 
    img_src = imgs[0].src if imgs else None 

    return render_to_response('items/get_item.html', { 
     'item': item, 
     'title': item.name, 
     'image': img_src, 
    }) 

Bu yüzden/sorl-thumbnail bölümünde sıkıştım. Bu var ama olsun() birden fazla sonuç döndürür zaman çalışmıyor:

{% for item in all_items %} 
    <li>{{ item.name }}</li> 
    {% if item.images.get %} 
     {{item.images.get }} 
    {% endif %} 
{% endfor %} 

cevap

2

ben% 100 emin değilim ama senin sorunun, ancak resimlerin listesini varsa endeksi de yapabilirsiniz bunu olmalıdır hariç şablonda ama iyi adamdı an için item.images.filter (is_poster = true) nasıl bakmalıyız olsa düzelttim ki

{% load thumbail %} 
{% if item.images.all %} 
    <img src="{% thumbnail item.images.all.0 100x100 %}"> 
{% endif %} 
+0

evet: şablonda ilk item.images.all.0.src – anders

+0

Görüntüleriniz için özel bir yönetici (http://www.djangoproject.com/documentation/models/custom_managers/) yöntemi oluşturabilirsiniz. "is_poster" da şablonunuzdan ({{item.images.is_poster}} ') de çağırabilirsiniz. –