Ceci est, espérons-le, rapide/facile. Je connais un moyen de contourner ce problème via une balise de gabarit personnalisée, mais j'étais curieux de savoir s'il y avait d'autres méthodes que je recherchais. J'ai créé une fonction de galerie pour mon blog, et j'ai une page de liste de galerie qui pagine toutes mes galeries. Maintenant, je ne veux pas montrer toutes les photos de chaque galerie dans cette liste, puisque si chaque galerie a même 20 images, alors c'est 100 images sur une page si je pagine à 5 postes. Ce serait un gaspillage et la mauvaise façon de faire les choses.django pour boucle de comptage
La question que j'ai est, est-il un moyen d'afficher simplement 3 photos à partir du jeu de photos? Ce que je voudrais faire, mais je ne pense est possible est quelque chose comme (pseudo-code):
{% for photos in gallery.photo_set %}
{% if forloop.counter lt 3 %}
<img src="{{ photos.url }}">
{% endif %}
{% endfor %}
A en juger par la documentation, à moins que je suis tout à fait le manquer, ce n'est pas possible via le système de template. Par conséquent, je peux juste écrire mon propre modèle de balise de sorte à contourner ce problème. Je pourrais probablement faire quelque chose du point de vue, mais je n'ai pas regardé loin dans cette idée. L'autre option que j'ai est de donner au modèle un champ de prévisualisation, et permettre à l'utilisateur de sélectionner les photos qu'ils veulent dans le champ de prévisualisation.
De toute façon, quelques options différentes, alors j'ai pensé que je serais interroger le public pour voir comment vous le feriez. Toute opinion est appréciée. Personnellement, en appréciant qu'il existe de nombreuses façons de peau ce chat.
Donc, il y a toutes mes options, et puis il y a votre évidence flagrante que j'ai été négligent. Merci pour l'astuce, ça me sauve une tonne d'ennuis! – f4nt
L'utilisation du filtre coupe présente un avantage supplémentaire. Si vous passez dans un QuerySet Django (par opposition à une collection), la tranche sera transmise à la requête SQL sous-jacente, limitant le nombre de lignes que la page va récupérer dans la base de données. –
@Dave, +1: merci, je ne savais pas à propos de cette optimisation - cool! –