2013-04-29 2 views
11

In der Django-Template-Sprache ist es weg, die else-Klausel mit einer for-Schleife zu verwenden? Ich vertraue, ich kann eine if-Prüfung vor der for-Schleife verwenden, aber das wird sich wiederholen.Django Template Sprache: Verwenden einer for-Schleife mit sonst

Python für-else

list = [] 

for i in list: 
    print i 
else: 
    print 'list is empty' 

Django Vorlage für-andere (meine Vermutung)

<h1>{{ game.title}}</h1> 

<table> 
    <tr> 

{% for platform in game.platform_set.all %}  
    <td>{{ platform.system }} -- ${{ platform.price}}</td> 
{% else %} 
    <td>No Platforms</td> 
{% endfor %} 

    </tr> 
</table> 

<a href="{% url 'video_games:profile' game.id %}"></a> 
+1

Mipadis Antwort ist richtig zu der Frage "finde, ob eine Liste von Artikeln leer ist", aber OP benutzt 'for..else' falsch. Django Template 'for..empty' -' empty' bedeutet, dass die for-Schleife kein Element hat. während Python 'for..else' -' else' bedeutet, dass die for-Schleife nicht beendet (Pause). – Andrew

Antwort

18

Verwendung for...empty, die im Grunde die Django entspricht (ersetzt das else Schlüsselwort mit empty).

+0

Wie Andrew sagte (in einem Kommentar zu der Frage), ist 'for..empty' das, was das OP verlangt, aber' for..else' tut etwas ganz anderes ** in Python. –