Как обрабатывать функцию else в вложенном операторе if - PullRequest
1 голос
/ 15 января 2020

У меня есть вложенный оператор if в шаблоне:;

{% if object in request.user.mymodel_set.all %}
    {% if object.pk == request.session.field_pk %}
        Selected
    {% else %}
        <form method="POST" action="myURL" class="">
            {% csrf_token %}
            <input type="submit" value="Select">
        </form>
    {% endif %}
{% endif %}

Однако <input> не отображается. Это происходит, когда родительский оператор {% if %} удален. Я что-то упускаю из-за того, как оператор else обрабатывается в этом шаблоне?

1 Ответ

4 голосов
/ 15 января 2020

Попробуйте

{% if object in request.user.mymodel_set.all %}
   {% if object.pk == request.session.field_pk %}
    Selected
   {% elif object.pk != request.session.field_pk %}
    <form method="POST" action="myURL" class="">
        {% csrf_token %}
        <input type="submit" value="Select">
    </form>
   {% endif %}
{% endif %}

, если это тоже не работает, возможно, переменные, которые вы проверяете в своих условиях, не соответствуют действительности

...