2013-08-26 64 views
0

我对django不是很熟悉,但我希望这里有人能告诉我是否有可能。仅显示django中没有编号的某些照片画廊

我目前正在打电话的一组最新的4个照片画廊这样的:

{% load photogalleries %} 
       {% get_latest_galleries_from_set front-page as photo_gallery limit 4 %} 
       {% for gallery in photo_gallery %} 
        <div class="rightSidePairThumb"> 
         <a href="{{ gallery.get_first_photo.get_absolute_url }}"><img src="{% mogrify gallery.get_first_photo.get_photo.get_photo_url resize '900x750' filter 'sharpen' %}" alt="{{ gallery.name }}" class="link"/></a> 
         <div class="rightSidePairCat">PHOTOS</div> 
         <div class="coolName"><a href="{{ gallery.get_first_photo.get_absolute_url }}">{{ gallery.name }}</a></div> 
         <hr class="style-two"> 
        </div> 
       {% endfor %} 

我不希望再一次全部调用4个最新的画廊,而是得到一个在不同的div时间在我的页面上。因此,在一个div中,我想打电话给最新的画廊。在另一个div中,我想打电话给第二个最新的画廊。在另一个div中,只有第三个最新的画廊,等等。

我试着用'排除'的id,但我不知道画廊ID的。如果有人知道如何完成我想要做的事情,我会永远感激。

我可以使用css同级组合器(我在我的页面上的其他地方)完成此操作,但代码非常长,看起来......哈克。我希望django有一个更简单的方法。

再一次,我对django不是很熟悉,所以在noob上轻松一下。

在此先感谢!

回答

0

您可以通过索引这样的访问特定的画廊名单:

{{ photo_gallery.0 }} 
{{ photo_gallery.0.get_first_photo.get_absolute_url }} 
0

你或许可以完成你想要的使用{% if forloop.counter0 == X %}检查你是哪个环路。我不确定你的意思是“我不知道画廊编号”,{{ gallery.id }}不起作用?反正..

一种可能性:

{% for gallery in galleries %} 
    <div class="{% if forloop.first %}latest-gal{% elif forloop.counter0 == 1 %}second-to-latest-gal{% elif forloop.last %}oldest-gal{% else %}third-to-latest-gal{% endif %}"> 

虽然这看起来^非常讨厌。相反,我只想用{{ forloop.counter0 }}在您的ID,如建议:

{% for gallery in galleries %} 
    <div id="gallery-{{ forloop.counter0 }}"> 

通常我会扔在<div id=gallery-"{{ gallery.slug }}{{ gallery.id }}但你似乎只想要最新的4个画廊所以这就是为什么我会用{{ forloop.counter0 }}。它将返回<div id="gallery-0">为最新的画廊等。