繁体   English   中英

为什么我可以动态使用django模板变量?

[英]Why am I able to use django template variables dynamically?

我对drango模板的理解是,一切都发生在服务器端,然后从模板中生成html。 之后,它只是html中的纯文本。 但是由于某种原因,我能够在javascript中动态使用django变量。

这是一个JavaScript示例:

$("#smth").append("<li>{{djangoObject.0.id}}</li>");

即使我将其放在事件处理程序中,这意味着它肯定会在html生成后被调用,它的工作原理还不错。

为什么而且最重要的是,为什么django将变量保留在客户端?

这段代码呈现为$("#smth").append("<li>123</li>"); 当然,此工作在html生成之后没有任何问题。

它不是在客户端使用的,它只是直接呈现到Javascript字符串中。 因此,例如,如果djangoObject[0].id为12,则结果代码如下

$("#smth").append("<li>12</li>");

显然,它将运行得很好。 不过,它不是动态的,并且请记住这一点-在事件发生时它不会获取id 它在模板渲染时获取它,模板渲染发生在HTML(和嵌入式Javascript)发送到客户端(您的浏览器)之前。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM