Seite 1 von 1

[Django] Tremlate: for-Schleife mind. einmal ausführen

Verfasst: Montag 17. Dezember 2012, 11:26
von sparrow
Hallo Forum,

gibt es eine einfache Möglichkeit eine for-Schleife mindestens einmal ausführen zu lassen?
Es gibt {% empty %}, das müsste nur dafür sorgen, dass die Schleife einmal durchlaufen wird.


Gruß
Sparrow

Re: [Django] Tremlate: for-Schleife mind. einmal ausführen

Verfasst: Montag 17. Dezember 2012, 12:00
von BlackJack
@sparrow: So ganz allgemein kann man da nur sagen, dass man halt dafür sorgen muss, dass in dem „Iterable” bei der ``for``-Schleife mindestens ein Objekt drin steckt.

Re: [Django] Tremlate: for-Schleife mind. einmal ausführen

Verfasst: Montag 17. Dezember 2012, 13:04
von sparrow
Hmmm, bei verschachtelten Objekten müsste ich dann einmal ein komplettes Dummy-Objekt erzeugen.
Schade, ich dachte, dass es vielleicht eine einfache Möglichkeit gibt der Schleife einfach zu sagen: wenn das Objekt leer ist, dann lauf halt einmal durch.

Re: [Django] Tremlate: for-Schleife mind. einmal ausführen

Verfasst: Montag 17. Dezember 2012, 13:41
von Sirius3
und mit welchem Inhalt?
Listen sind ja normalerweise leer, weil es nichts zum Darstellen gibt.

Es gibt den default-Filter:

Code: Alles auswählen

{%for element in some_list|default:empty_list %}
Grüße
Sirius

Re: [Django] Tremlate: for-Schleife mind. einmal ausführen

Verfasst: Montag 17. Dezember 2012, 14:52
von sparrow
@Sirius3

Danke! Genau das war es. Wenn man da per default irgend etwas Listenartiges übergibt, dann läuft die Schleife entsprechend oft.
Tatsächlich möchte ich nichts darstellen, es handelt sich um die Darstellung einer Tabelle. Es kann durchaus sein, dass die noch leer ist, deshalb soll aber trotzdem die erste Zeile da sein um etwas einzugeben.

Re: [Django] Tremlate: for-Schleife mind. einmal ausführen

Verfasst: Dienstag 25. Dezember 2012, 07:48
von noisefloor
Hallo,

unabhängig von django hört sich das aber eher nach einem Fall für if-else an...

Gruß & Frohes Fest, noisefloor

Re: [Django] Tremlate: for-Schleife mind. einmal ausführen

Verfasst: Dienstag 25. Dezember 2012, 12:07
von sparrow
An sich gebe ich dir recht.

In diesem Fall ist auf der Webseite eine Tabelle, in der man Daten eingeben kann. Das sind einfache input-Felder. Es können bereits Daten vorhanden sein, die dann vorbelegt werden. Wenn keine da sind, dann soll eine leere Zeile auftauchen. Ließ sich mit dem default prima umsetzen.