2013-04-29 8 views
11

W języku szablonów Django jest tam, aby użyć klauzuli else z pętlą for? Opieram się, że mogę użyć sprawdzenia if przed pętlą for, ale to się powtórzy.Język szablonów Django: Używanie pętli for z innym

python for-else

list = [] 

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

Django szablon dla-else (zgaduję)

<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

Odpowiedź mipadi jest odpowiednia dla pytania "znajdź, czy lista pozycji jest pusta", ale OP używa "for..else" błędnie. Django Szablon 'for..empty' -' empty' oznacza, że ​​pętla for nie ma żadnego elementu. podczas gdy Python 'for..else' -" else "oznacza, że ​​pętla for nie zakończyła (przerwa). – Andrew

Odpowiedz

18

Zastosowanie for...empty, który jest w zasadzie równoważne Django (zamiennik słowa kluczowego else z empty).

+0

Jak powiedział Andrew (w komentarzu do pytania), 'for..empty' jest tym, o co OP jest proszony, ale' for..else' robi coś ** całkowicie ** innego w Pythonie. –