为什么我能动态使用Django模板变量?

2024-10-03 21:30:41 发布

您现在位置:Python中文网/ 问答频道 /正文

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

下面是一个javascript示例:

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

即使我把它放在一个事件处理程序中,也就是说,它肯定会在html生成之后被调用,它工作得很好。你知道吗

最重要的是,为什么django将变量保存在客户端?你知道吗


Tags: django文本模板id示例html服务器端事件
2条回答

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

它不是客户端使用的,只是直接呈现到Javascript字符串中。例如,如果djangoObject[0].id是12,那么生成的代码如下所示

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

很明显,这一切都很顺利。不过,它不是动态的,请务必记住这一点—它不会在事件发生时获取id。它在模板呈现时获取它,这发生在HTML(和嵌入的Javascript)被发送到客户端(您的浏览器)之前。你知道吗

相关问题 更多 >