我对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,只是第3个最新的画廊等。
我尝试使用id的'exclude',但我不知道图库ID。如果有人知道如何完成我想做的事情,我会永远感激。
我可以使用css兄弟组合器实现这一点,(我在我的页面上的其他地方做了)但代码很长,看起来...... hacky。我希望django有一个更简单的方法。
同样,我对django不是很熟悉,所以在菜鸟上放轻松。
提前致谢!
答案 0 :(得分:0)
您可以按索引访问列表中的特定图库:
{{ photo_gallery.0 }}
{{ photo_gallery.0.get_first_photo.get_absolute_url }}
答案 1 :(得分: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 %}">
虽然这看起来很讨厌。相反,我建议您在ID中使用{{ forloop.counter0 }}
,例如:
{% for gallery in galleries %}
<div id="gallery-{{ forloop.counter0 }}">
通常我会在{{ gallery.slug }}
中抛出{{ gallery.id }}
或<div id=gallery-"
,但您似乎只想要最新的4个画廊,这就是我使用{{ forloop.counter0 }}
的原因。它将返回<div id="gallery-0">
以获取最新的图库,依此类推。