Django CMS, во включенном файле есть фрагмент HTML, как включить этот фрагмент дважды на одной странице, чтобы вы могли изменять разное содержимое?

#django #django-cms

#джанго #django-cms #django

Вопрос:

В папке include / cards есть шаблон

 {% load cms_tags %}
{% load static %}
<div class="cards">
    <div class="card__item">
        <div class="card__top">
            {% placeholder 'card__top_c1' %}
        </div>
        <div class="card__foot">
            {% placeholder 'card__foot_c1' %}
        </div>
    </div>
   .........
</div>
  

Я подключаю этот фрагмент на одной странице дважды, возможно ли каким-то образом, чтобы у одного include был один контент, а у другого — другой????

просто получается, что если я что-то изменю в первом, то это изменится и во втором, что можно сделать???

 {% include './include/cards.html' %}
<br><br>
{% include './include/cards.html' %}
  

Комментарии:

1. Вы должны сделать это с помощью операторов if-else или вы можете создать несколько html и включить отдельный html во 2-м условии

2. в противном случае, ничего?

3. Может быть какой-то другой способ. Но я прикрепил фрагмент с использованием if-else для вашей справки

Ответ №1:

Вы можете попробовать использовать if-else. Проверьте фрагмент

Models.py

 class modelname(models.Model):
    position = models.CharField(max_length=50, choices=(
        ('Top', 'top'),
        ('Footer', 'foot')
    ))
  

Cards.html

 {% load static %} 
{% if modelname.position == 'top' %}

<div class="card" >
  <div class="card__top">
    {% placeholder 'card__top_c1' %}
  </div>
</div>

{% else %}
<div class= "card">
     <div class="card__foot">
          {% placeholder 'card__foot_c1' %}
     </div>
</div>
{% endif %}