Согласно this thread в списке разработчиков django, я не могу передать константу False
в качестве параметра тега шаблона Django, потому что он будет рассматриваться как имя переменной, а не встроенный постоянная.Django custom template tag, который принимает логический параметр
Но если я хочу создать тег шаблона, требуется параметр true/false, каков рекомендуемый способ создания (в Python) и вызвать (в шаблоне) тег шаблона?
Я мог бы просто передать 1 или 0 внутри шаблона, и он будет работать нормально, но при условии, что для создания шаблона Django не требуется знание компьютерного программирования (например, 1 == True, 0 == False) авторов шаблонов, I было интересно, есть ли более подходящий способ справиться с этим делом.
Пример определения тегов и использования:
@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 %}
см. Также http://stackoverflow.com/questions/4229327 – mpen