2013-07-16 14 views
5

Używam django 1.5, muszę sprawdzić, czy zmienna jest zdefiniowana (i czy nie działa, jeśli zmienna jest zdefiniowana, ale Brak, 0, "" itp. .). Coś jak:Sprawdź, czy zmienna jest zdefiniowana w języku szablonowania django.

{% ifexists a_variable %} 
    <p> Hey the variable exists </p> 
{% endifexists %} 

ja nie, jak najlepiej zrobić to ...

+6

To wydaje mi się rozsądne pytanie, jak odróżnić zmienną, która jest ustawiona na coś fałszywego w kontekście, i zmienną, która nie jest w ogóle ustawiona. temat: –

Odpowiedz

3

Proszę przeczytać documentation.

Opcja {% if%} tag ocenia zmienną, a jeśli to zmienna jest „true” (czyli istnieje ...

{% if athlete_list %} 
    Number of athletes: {{ athlete_list|length }} 
{% elif athlete_in_locker_room_list %} 
    Athletes should be out of the locker room soon! 
{% else %} 
    No athletes. 
{% endif %} 

Można również zapoznać się raczej poręczny samouczek do Django dla writing public views.

+6

z pewnością, gdyby lista sportowców była ustawiona na [] lub Brak, by przejść do innej? Nie tego chcę, potrzebuję go, żeby móc stwierdzić, czy zmienna jest ustawiona (patrz http://codepad.org/OJbkRWYN) – Cucwx

+2

@Cucwx Dlaczego wysyłasz potencjalnie zmienne zmienne do szablonu? Tak czy inaczej, jeśli zmienna jest nieprawidłowa (unset), Django ustawi ją na wartość 'TEMPLATE_STRING_IF_INVALID', możesz ustawić to na coś innego, a następnie sprawdź czy' osoba' lub 'trener' jest równy; zobacz [Nieprawidłowe zmienne szablonu] (https://docs.djangoproject.com/en/1.1/ref/templates/api/#invalid-template-variables). Chociaż nie jest to naprawdę dobry pomysł (wyrażony przez sam dokument). –

+0

@ Komentarz SamStudio8 powinien zastąpić odpowiedź, ponieważ jest bardziej przydatna. –

Powiązane problemy