#python-3.x #bootstrap-4 #django-templates #ternary-operator
#python-3.x #bootstrap-4 #django-шаблоны #ternary-operator
Вопрос:
Я хочу свернуть аккордеон bootstrap4 на основе условия.
Этот код работает, но кажется глупым.
{% if missing_data %}
<div id="collapseExternal" class="collapse show" aria-labelledby="externalHeading" data-parent="#accordionExternal">
{% else %}
<div id="collapseExternal" class="collapse hide" aria-labelledby="externalHeading" data-parent="#accordionExternal">
{% endif %}
Основываясь на исследованиях, я попытался
<div id="collapseExternal" class="{% if missing_data == True %}collapse show{% else %}collapse hide{% endif %}" aria-labelledby="externalHeading" data-parent="#accordionExternal">
А также
<div id="collapseExternal" {% if missing_data %} class="collapse show" {% else %} class="collapse hide" {% endif %} aria-labelledby="externalHeading" data-parent="#accordionExternal">
но ни то, ни другое не работает. Они просто остаются скрытыми и не открываются.
Желаемое поведение: если условие истинно, покажите, что класс свернут, если false, have hidden .
Ответ №1:
Наконец-то нашел ответ еще где
<div id="collapseExternal" class='collapse {{missing_data|yesno:"show,hide"}}' aria-labelledby="externalHeading" data-parent="#accordionExternal">
Однако я не знаю, что это на самом деле или называется…