如何在Javascript中使用Django for循环?

如何在Javascript中使用Django for循环?,javascript,django,Javascript,Django,我试图在Javascript中循环一个名为special_ads的Django数组。我的想法是,我可以创建Javascript广告对象,并将它们存储在Javascript数组中。 这些对象用于选择某个广告,并显示其他信息 <script type="text/javascript"> ADS = new slideshow(); {% for ad in special_ads %} ADS.add_ad(new advert( "{{ a

我试图在Javascript中循环一个名为special_ads的Django数组。我的想法是,我可以创建Javascript广告对象,并将它们存储在Javascript数组中。 这些对象用于选择某个广告,并显示其他信息

<script type="text/javascript">
  ADS = new slideshow();
  {% for ad in special_ads %}
    ADS.add_ad(new advert(
              "{{ ad.image }}",
              "Drie halen twee betalen",
              "{{ ad.company.name }}",
              "{{ ad.description }}",
              "{{ MEDIA_URL }}{{ ad.image }}",
              "{% thumbnail ad.image 55x55 crop %}",
              "brown",
              "white"
            ));
  {% endfor %}
</script>


//==================================================
// ad object
//==================================================
function advert(id,title,company,description,normal_image_src,thumb_image_src,background_color,text_color) {
  this.id = id;
  this.title = title;
  this.company = company;
  this.description = description;
  this.normal_image_src = normal_image_src;
  this.thumb_image_src = thumb_image_src;
  this.background_color = background_color;
  this.text_color = text_color;
}

ADS=新幻灯片放映();
{特殊广告中的广告%}
ADS.add_广告(新广告)(
“{ad.image}}”,
“Drie halen twee betalen”,
“{{ad.company.name}}”,
“{ad.description}}”,
“{{MEDIA_URL}}{{ad.image}}”,
“{%thumbnail ad.image 55x55 crop%}”,
“棕色”,
“白色”
));
{%endfor%}
//==================================================
//广告对象
//==================================================
功能广告(id、标题、公司、说明、普通图片、拇指图片、背景色、文本色){
this.id=id;
this.title=标题;
这个公司=公司;
this.description=描述;
this.normal\u image\u src=normal\u image\u src;
this.thumb\u image\u src=thumb\u image\u src;
this.background\u color=背景颜色;
this.text\u color=text\u color;
}
我不能真正使用JSON列表,因为我还需要在页面加载时在html中使用相同的数组,如下所示

{% for ad in special_ads %}
  <dd>
    <a id="std_ad_{{ i }}" class="img">
      <img id="{{ ad.image }}" class="enlarge" src="{% thumbnail ad.image 55x55 crop %}" alt="{{ ad.company.name }}" onclick="ADS.display(this)"/>
    </a>
  </dd>
{% endfor %}
{%用于特殊广告中的广告%}
{%endfor%}
问题是,这不能正常工作。页面加载正确,但未将广告添加到数组中。此外,Django部分似乎执行正确。页面源导致以下结果

<script type="text/javascript">
  ADS = new slideshow();

    ADS.add_ad(new advert(
              "ads/logo_copy.jpg",
              "Drie halen twee betalen",
              "Directdoen.nl",
              "DirectDoen helpt u graag met schoonmaken, tuinonderhoud en klussen. Bij DirectDoen bent u voor hulp in en om uw huis aan",
              "http://127.0.0.1:8000/media/ads/logo_copy.jpg",
              "",
              "brown",
              "white"
            ));

    ADS.add_ad(new advert(
              "ads/Untitled-1.jpg",
              "Drie halen twee betalen",
              "Jouwstraat.nl",
              "Jouwstraat.nl is een website waar buren &amp; straatgenoten met elkaar in contact kunnen
komen en blijven. Kijk dus snel op .
",
              "http://127.0.0.1:8000/media/ads/Untitled-1.jpg",
              "",
              "brown",
              "white"
            ));

    ADS.add_ad(new advert(
              "ads/AD.JPG",
              "Drie halen twee betalen",
              "Code 06",
              "DirectDoen helpt u graag met schoonmaken, tuinonderhoud en klussen. Bij DirectDoen bent u voor hulp in en om uw huis aan
",
              "http://127.0.0.1:8000/media/ads/AD.JPG",
              "http://127.0.0.1:8000/media/ads/AD_JPG_55x55_crop_q95.jpg",
              "brown",
              "white"
            ));

</script>

ADS=新幻灯片放映();
ADS.add_广告(新广告)(
“ads/logo_copy.jpg”,
“Drie halen twee betalen”,
“Directdoen.nl”,
“导演帮助你在克鲁森遇到了图因州的schoonmaken。Bij导演把你的身体弯成了一团”,
"http://127.0.0.1:8000/media/ads/logo_copy.jpg",
"",
“棕色”,
“白色”
));
ADS.add_广告(新广告)(
“ads/Untitled-1.jpg”,
“Drie halen twee betalen”,
“Jouwstraat.nl”,
“Jouwstraat.nl是waar buren&Straatgeneten在联系kunnen时与elkaar会面的网站
这是一个很好的例子。
",
"http://127.0.0.1:8000/media/ads/Untitled-1.jpg“,
"",
“棕色”,
“白色”
));
ADS.add_广告(新广告)(
“ads/AD.JPG”,
“Drie halen twee betalen”,
“代码06”,
“导演不帮助你在克鲁森遇到了图因州的schoonmaken。Bij导演把你的身体弯成了一个大块头。”
",
"http://127.0.0.1:8000/media/ads/AD.JPG",
"http://127.0.0.1:8000/media/ads/AD_JPG_55x55_crop_q95.jpg",
“棕色”,
“白色”
));

我已经搜索了很多,但是我找不到一个关于如何做这件事的好教程。有人知道实现我的目标的最佳方式吗?

这个问题是不正确的,因为Django for循环显然不是你的问题。我想这与广告或幻灯片课程有关。您的js控制台没有给出任何错误吗?

为什么不使用JSON?如果您需要像页面中其他地方一样使用现有的数组,只需将该数组的一个版本设置为JSON即可。我已经尝试过使用JSON,但它并没有按照我需要的方式工作。也许这确实是可能的,但我并不擅长Django和JSON;)。我现在可以按原样工作了。好的,非常感谢:)。在查看控制台之后,我发现Javascript被未终止的文本绊倒了,这是由一些端点引起的。它现在可以正常工作了。