2010-09-07 7 views
0

J'ai juste besoin de générer du contenu de test pour mon modèle. Quelque chose comme:Django, le plus simple forloop, comment? (i = 0; i <20; i ++)

{{ for i < 20 }} 
<img src="image-{{i}}.jpg " /> 
{{ endfor }} 

Je n'ai pas de liste, comment dois-je procéder?

+2

http://stackoverflow.com/questions/1107737/numeric-for-loop-in-django-templates –

Répondre

4

Eh bien, il stucks si vous ne disposez pas d'une liste ou un itérables sur le modèle. DJango ne fournit pas un moyen par défaut d'écrire des données factices. Mais il fournit une balise lorem pour obtenir du texte factice. Voir here.

Mais vous pouvez faire un exercice pour travailler exactement ce que vous essayez de faire. Créer un modèle personnalisé, comme myutilities.py et ajouter au répertoire templatetags de votre app.

from django import template   
register = template.Library() 

@register.filter 
def range(value): 
    return range(value) 

Modèle

{% load myutilities %} 
{% for i in 50|range %} 
    {{ forloop.counter }}<img src="image-{{i}}.jpg " /> 
{% endfor %}