итерация идентификатора данных django - PullRequest
0 голосов
/ 14 февраля 2020

Я действительно не знаю, как выполнить итерацию моего l oop для отображения отдельных элементов. Я попытался переставить l oop, но сработало. Идентификатор данных id = "portfolioModal" - это то, что я хочу итерировать для отдельных элементов.

{% for subjects in object %}
    <div class="portfolio-modal modal fade" id="portfolioModal" tabindex="-1" role="dialog" aria-labelledby="portfolioModal1Label" aria-hidden="true">
      <div class="modal-dialog modal-xl" role="document">
        <div class="modal-content">
          <button type="button" class="close" data-dismiss="modal" aria-label="Close">
            <span aria-hidden="true">
              <i class="fas fa-times"></i>
            </span>
          </button>
          <div class="modal-body text-center">
            <div class="container">
              <div class="row justify-content-center">

                <div class="col-lg-8">
                  <!-- Portfolio Modal - Title -->

                  <h2 class="portfolio-modal-title text-success text-uppercase mb-0">{{subjects.title}}</h2>
                  <!-- Icon Divider -->
                  <div class="divider-custom">
                    <div class="divider-custom-line"></div>
                    <div class="divider-custom-icon">
                      <i class="fas fa-star"></i>
                    </div>
                    <div class="divider-custom-line"></div>
                  </div>
                  <!-- Portfolio Modal - Image -->
                  <img class="img-fluid rounded-circle mb-5" src=" {{subjects.img.url}}" alt="">
                  <!-- Portfolio Modal - Text -->
                 <p>{{subjects.desc}}</p>
                  <button class="btn btn-danger" href="#" data-dismiss="modal">
                    <i class="fas fa-times fa-fw"></i>
                    Close Window
                  </button>

                </div>

              </div>
            </div>
          </div>
        </div>
      </div>

    </div>
    {% endfor %}

1 Ответ

0 голосов
/ 16 февраля 2020

Если вы хотите итерировать только числа в l oop, вы можете использовать {{ forloop.counter }}, например:

{% for subjects in object %}
    <div class="portfolio-modal modal fade" id="portfolioModal-{{ forloop.counter }}" tabindex="-1" role="dialog" aria-labelledby="portfolioModal1Label" aria-hidden="true">

...

{% endfor %}

В for l oop внутри кода вашего шаблона, всегда один объект вашей контекстной переменной «объект» называется «субъекты», как вы знаете. Итак, если вы хотите повторить ваш div-идентификатор, используя атрибут объекта (предположим, object.id), просто вызовите его как {{ subjects.id }}:

{% for subjects in object %}
    <div class="portfolio-modal modal fade" id="portfolioModal-{{ subjects.id }}" tabindex="-1" role="dialog" aria-labelledby="portfolioModal1Label" aria-hidden="true">

...

{% endfor %}

Когда эта страница будет отображена, будет напечатан простой id = portfolioModal-1, id = portfolioModal-2, id = portfolioModal-3 ... где числа - это идентификаторы объектов

...