Modèles Django problème — {% si l'objet|longueur > 4 %} soulève TemplateDoesNotExist: 500.html
J'ai de la suite dans mon template.
{% block content %}
{% for album in albumsList %}
{% if fotosList %}
<div class="photoalbum-wrapper">
<h3>{{ album.title }}</h3>
<ul class="photoalbum">
{% for foto in fotosList %}<li>item</li>{% endfor %}
</ul>
{% if fotosList|length > 4 %}
<a href="#" class="trigger">больше <span>▼</span></a>
{% endif %}
</div>
{% endif %}
{% endfor %}
{% endblock %}
Et il soulève TemplateDoesNotExist: 500.html.
Si j'écris simple {{ fotoList|length }}
il fonctionne bien.
OriginalL'auteur tataata | 2010-01-27
Vous devez vous connecter pour publier un commentaire.
Utilisation
fotosList.count
au lieu defotosList|length
. vous obtiendrez le résultat souhaité.fotosList
est unQuerySet
ou quelque chose d'autre qui implémentecount()
Il ne fonctionnera pas avec des collections, listes, tuples, etc.
OriginalL'auteur Nilesh Tighare
C'est une très vieille question. Depuis que les nouvelles versions de Django soutien les opérateurs dans le if hors de la boîte, de sorte que le code suivant fonctionne parfaitement:
OriginalL'auteur Mariusz Jamro
FYI si balises avec les opérateurs ==, !=, <, >, <=, >= sont maintenant supportées dans la version de développement de Django.
OriginalL'auteur spyder
{% if fotosList|length > 4 %}
n'est pas une étiquette valide; vous ne pouvez pas utiliser plus que/moins que dans l'Djangoif
tag. (Vous peut utilisation les opérateurs dans la dernière version de développement, mais je suis en supposant que vous n'êtes pas à l'aide de la dernière version de Django du référentiel SVN).La raison pour laquelle vous obtenez le
TemplateDoesNotExist
erreur est parce que Django est en train de jeter un 500 Erreur Interne du Serveur (en raison de la balise incorrecte), mais vous n'avez pas fourni un 500.html erreur de modèle, comme l'a noté ici.OriginalL'auteur mipadi