webentwicklung-frage-antwort-db.com.de

wie man 7 mal in den Django-Templates eine Schleife bildet

das ist mein Code:

{% for i in range(7)%}
        <option value={{i+1}}> {{i+1}}</option>
{% endfor %}

aber es zeigt Fehler,

was kann ich machen ,

vielen Dank

17
zjm1126

views.py:

context['loop_times'] = range(1, 8)

html:

{% for i in loop_times %}
        <option value={{ i }}>{{ i }}</option>
{% endfor %}
42
zjm1126

In Python-Strings sind iterable, also funktioniert das:

{% for i in "1234567" %}
    <option value={{i}}> {{i}}</option>
{% endfor %}

Es ist explizit, also ziemlich in Ordnung, aber die Antwort von zjm1126 ist wahrscheinlich für eine langfristige Betrachtung besser.

51
blobmaster

Django-Vorlagen unterstützen keine Bereiche. Sie haben mehrere Möglichkeiten:

  1. Hinzufügen eines Bereichsfilters: http://djangosnippets.org/snippets/1357/

So fügen Sie benutzerdefinierte Filter hinzu: http://docs.djangoproject.com/de/dev/howto/custom-template-tags/

  1. Verwenden Sie ein anderes Schablonensystem wie Mako, das es unterstützt.

http://docs.djangoproject.com/de/dev/ref/templates/api/#using-an-alternative-template-language Django-Mako ist ein Verknüpfungsprojekt für die Verwendung von Mako: http://code.google.com/p/Django-mako/

0
Jordan