Zgodnie z this thread na liście deweloperów django, nie mogę przekazać stałej False
jako parametru do znacznika szablonu Django, ponieważ będzie traktowany jako nazwa zmiennej, a nie wbudowany stały.Django niestandardowy znacznik szablonu, który akceptuje parametr boolowski
Ale jeśli chcę utworzyć tag szablonu, potrzebny jest parametr true/false, jaki jest zalecany sposób tworzenia (w języku Python) i wywoływania (w szablonie) tego tagu szablonu?
Mogę po prostu przekazać 1 lub 0 wewnątrz szablonu i będzie działać poprawnie, ale biorąc pod uwagę, że tworzenie szablonów Django nie powinno wymagać znajomości programowania komputerowego (np. 1 == Prawda, 0 == False) twórców szablonów, I zastanawiałeś się, czy istnieje lepszy sposób postępowania z tą sprawą.
Przykład definicji zmiennych i przechowywania:
@register.simple_tag
def some_tag(some_string, some_boolean = True):
if some_boolean:
return some_html()
else
return some_other_html()
<!-- Error! False treated as variable name in Request Context -->
{% some_tag "foobar" False %}
<!-- Works OK, but is there a better option? -->
{% some_tag "foobar" 0 %}
patrz również http://stackoverflow.com/questions/4229327 – mpen