Jest to, miejmy nadzieję, szybki/łatwy. Znam sposób obejścia tego poprzez niestandardowy tag szablonu, ale byłem ciekawy, czy były inne metody, których szukałem. Na moim blogu utworzyłem funkcję sortowania galerii i mam stronę z listą galerii, która dzieli strony na wszystkie moje galerie. Teraz nie chcę pokazywać wszystkich zdjęć z każdej galerii na tej liście, ponieważ jeśli każda galeria ma nawet 20 obrazów, to jest to 100 obrazów na stronie, jeśli będę w paginacji w 5 postach. To byłoby marnotrawstwem i niewłaściwym sposobem postępowania.django do przerwania zliczania pętli
Mam pytanie, czy istnieje sposób na wyświetlenie 3 zdjęć z zestawu zdjęć? Co chciałbym zrobić, ale nie wiem myśleć to możliwe jest coś takiego jak (Pseudokod):
{% for photos in gallery.photo_set %}
{% if forloop.counter lt 3 %}
<img src="{{ photos.url }}">
{% endif %}
{% endfor %}
Sądząc z dokumentacji, chyba że całkowicie brakuje mi go, że nie jest możliwe za pośrednictwem system szablonów. W związku z tym mogę po prostu napisać własny tag szablonów do obejścia go. Prawdopodobnie mógłbym zrobić coś z perspektywy widoku, ale nie wpadłem na to daleko. Inną dostępną opcją jest udostępnienie modelowi pola podglądu i umożliwienie użytkownikowi wybrania potrzebnych zdjęć w polu podglądu.
W każdym razie, kilka różnych opcji, więc pomyślałem, że sonduję publiczność, aby zobaczyć, jak to zrobisz. Każda opinia jest doceniana. Osobiście cieszę się, że istnieje wiele sposobów na skórze tego kota.
Tak więc, są wszystkie opcje, a potem jest wasza oczywistość, którą przeoczyłem. Dzięki za napiwek, oszczędzasz mi mnóstwo kłopotów! – f4nt
Korzystanie z filtru segmentów ma dodatkową zaletę. Jeśli przekazujesz w Django QuerySet (w przeciwieństwie do kolekcji), plaster przejdzie do bazowego zapytania SQL, ograniczając liczbę wierszy, które strona będzie pobierać z bazy danych. –
@Dave, +1: dziękuję, nie wiedziałem o tej optymalizacji - fajnie! –