JavaScript внутри Django для l oop не обновляется для каждого цикла - PullRequest
0 голосов
/ 14 февраля 2020

Итак, у меня есть этот код, который проверяет, является ли значение списком или отдельной строкой. Если это список, он создает и добавляет элемент img в элемент div каждый раз Django для циклов l oop. Иначе, он просто создает один элемент img и добавляет его в элемент div.

Но проблема в том, что данные из предыдущего l oop остаются. Это означает, что код JavaScript не обновлялся / не стирался каждый раз, когда зацикливался. Есть ли способ это исправить? Спасибо!

 <script type="text/javascript">
   var index = 0
   let postImages = {{ postImages|safe }};  
 </script>
{% for info in post %}
  <a class="link_to_detail" href="{{ info.4 }}">
    <div class="card">
      <div class="images">
      </div>
      <div class="description">
        <h3>{{ info.0 }}</h3>
        <p>{{ info.1 }}</p>
        <p><strong>{{ info.2 }}</strong></p>
        <p>{{ info.3|truncatechars:150 }}</p>
      </div>
    </div>
  </a>
  <script type="text/javascript">
    console.log(typeof(postImages[index]))
    if (typeof(postImages[index]) == "object"){
        console.log(slides);
        document.querySelector('.images').classList.add('slides');
        for (let j = 0; j < postImages[index].length; j++){
          let img = document.createElement('img');
          let slides = document.querySelector('.slides')
          img.classList.add('image');
          img.src = postImages[index][j];
          console.log(postImages[index].length)
          slides.appendChild(img);
        }   
    }   else {
        let img = document.createElement('img');
        let images = document.querySelector('.images');
        img.classList.add('image');
        img.setAttribute('src', postImages[index]);
        images.appendChild(img);
        console.log(images);
    }
    index++;
  </script>
{% endfor %}
...