2012-09-08 49 views
0

我有這樣的模式:劃分的分類列表分成部分,Django的模板

class Event_Category(models.Model): 
    event=models.ForeignKey(Event,related_name='event_category') 
    category=models.ForeignKey(Category,related_name='events') 
    user=models.ForeignKey(User) 

視圖:

magazie_cats=Event_Category.objects.filter(event=instance).order_by('category').distinct() 
return render_to_response('CompanyHub/Company/index.html', {'magazie_cats':magazie_cats},context_instance=RequestContext(request)) 

模板:

{% regroup magazie_cats by category as service_list %} 

我要劃分這個分類清單分爲3部分並重復它。我試圖通過變量的索引來訪問每個類別:

{% for i in range(0,3) %} 
     {% for item in service_list.i.list %} 
      {{item.event.title}} 
     {% endfor %} 
    {% endfor %} 
    {% for i in range(3,6) %} 
     {% for item in service_list.i.list %} 
      {{item.event.title}} 
     {% endfor %} 
    {% endfor %} 
    {% for i in range(6,9) %} 
     {% for item in service_list.i.list %} 
      {{item.event.title}} 
     {% endfor %} 
    {% endfor %} 

注:每個循環的範圍內通過基於SERVICE_LIST長度一些自定義過濾器來計算。我沒有包含完整的代碼以避免複雜性。

問題是,列表變量索引不起作用,我不知道該怎麼辦。

回答

1

您要使用的過濾器slice

{% regroup magazie_cats by category as service_list %} 

{% for cat in service_list|slice:":3" %} 
    {% for item in cat.list %} 
     {{item.event.title}} 
    {% endfor %} 
{% endfor %} 
{% for cat in service_list|slice:"3:6" %} 
    {% for item in cat.list %} 
     {{item.event.title}} 
    {% endfor %} 
{% endfor %} 
{% for cat in service_list|slice:"6:9" %} 
    {% for item in cat.list %} 
     {{item.event.title}} 
    {% endfor %} 
{% endfor %} 
+0

我談片的分類列表,不是石斑魚! –

+0

\我分別提到石斑魚(不是答案)。不過,現在我明白你在找什麼了。一會兒。 –