【问题标题】:add django for loop in the template using javascript使用 javascript 在模板中添加 django for 循环
【发布时间】:2020-08-04 19:11:43
【问题描述】:

我可以使用 javascript dom(insertAdjacentText 或 textContent)在 django 模板中添加 {% for in %} 循环和 {{ variables }},并从视图中收取数据,例如仅刷新包含添加的 html 部分for 循环或刷新页面而不丢失 javascript 执行?如果是,请指导我,我搜索了,但我没有

function displayMaquette(){
let label = document.getElementById('label');
    let rem = document.getElementById('remove')
    let amg = document.getElementsByClassName('amg')
    let namep =document.getElementsByClassName('namep')
    let add =document.getElementById('add')
    add.insertAdjacentText('afterbegin','{% for plan in plan3 %}')
    add.insertAdjacentText('beforeend','{% endfor %}')*/
    for(let i =0;i<x.length;i++){
      x[i].textContent='{{ plan.IdPlans }}'
      amg[i].setAttribute('src','{{plan.Image.url}}')
      namep[i].textContent='{{ plan.NamePlan }} :'

    }
}
<figure id="label3" class="fig" onclick="displayMaquette()">
        <figcaption class="caption" onmouseover="figCaptionHover(this)" onmouseout="figCaptionOut(this)">Cliquez pour afficher les maquettes</figcaption>
        <img class="figimg" src="" alt="Elephant at sunset" >
        </figure>
</div>


<article class="works none">
    <p class="pNone" style="display: none;"></p>
    <div class="worksimg">
          <img class="Img amg" Img src="">
          </div>
        <div class="Description">
        <h2 class="namep"></h2>
        <p></p>
    </div>  
</article>

<div id="remove"></div>

找到? 通过 onclick 事件,我添加了 for 循环和 {{ variables }},但它在浏览器中显示为文本,它不会从视图中收取数据,我不希望从数据库中收取数据

【问题讨论】:

    标签: javascript python html django ajax


    【解决方案1】:

    听起来您所指的 javascript 也在客户端计算机上运行。如果是这样,那么不,这是不可能的。 Django 模板在向客户端发送响应之前由服务器评估。客户端无法知道 django 标签是什么以及如何使用它们,因为这是 django 本身内置的功能。

    【讨论】:

      猜你喜欢
      • 2018-06-13
      • 2013-06-30
      • 1970-01-01
      • 1970-01-01
      • 2012-07-25
      • 2020-09-29
      • 2021-10-17
      • 1970-01-01
      • 2017-03-27
      相关资源
      最近更新 更多