Условный рендеринг (разных секций) в Django Template
Я написал этот код (внутри представления) для генерации некоторых флагов
# when to show bidding form?
# - current user is logged in
# - listing is active
# - listing isn't created by current user
show_bidding_form = (
request.user.is_authenticated
and listing.is_active
and listing.owner != request.user
)
# when to show #bids and close listing form?
# - current user is logged in
# - listing is active
# - current user is listing owner
show_bids_count = (
request.user.is_authenticated
and listing.is_active
and listing.owner == request.user
)
управление, показывающее различные секции (внутри шаблона)
{% if show_bidding_form %}
<!-- some div ->>
{% elif can_close_listing %}
<!-- some other div -->
{% endif %}
Мой вопрос в следующем: это лучший способ сделать такую фильтрацию? или есть какой-то другой "официальный" способ.
Я думаю о том, чтобы переместить код и разметку в тег включения. Но тогда представление, которое изначально содержало код, будет пустым, и я не буду иметь представления о том, что происходит внутри шаблона, который он рендерит..