0

我对 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 中,只有第三个最新的画廊,等等。

我尝试使用 'exclude' by id,但我不知道画廊 id。如果有人知道一种方法来完成我想做的事情,我将永远感激不尽。

我可以使用 css 兄弟组合器来完成此操作,(我在页面的其他地方执行此操作)但代码真的很长而且看起来...... hacky。我希望 django 有一种更简单的方法。

再说一次,我对 django 不是很熟悉,所以在菜鸟上放轻松。

提前致谢!

4

2 回答 2

0

{% if forloop.counter0 == X %}您可能可以通过使用来检查您所在的循环来完成您想要的事情。我不确定您所说的“我不知道画廊 ID”是什么意思,{{ 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 }}">

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

于 2013-08-26T21:31:11.043 回答
0

您可以通过索引访问列表中的特定画廊,如下所示:

{{ photo_gallery.0 }}
{{ photo_gallery.0.get_first_photo.get_absolute_url }}
于 2013-08-26T18:46:41.503 回答