【发布时间】:2013-07-26 22:39:17
【问题描述】:
我对 jinja2 比较陌生(而且绝不是网络开发专家),我无法让与 jinja 模板关联的 javascript 根据程序。
基本上,我有一个模板遍历项目列表:
{% for item in items %}
<p> {{item['property a']}}</p>
blah blah blah`
然后我调用我在该 for 循环中导入的另一个模板:
{% import 'secondTemplate.html' as s %} //not sure whether this matters if it goes inside or outside the for loop
<p> {{s.doSecondStuff(item)}}</p>
一切正常。第二个模板每次都执行每个项目,这是我想要的。
但是,我有一些与 secondTemplate.html 关联的 secondTemplate.js,它对传递给 secondTemplate.html 的变量进行操作。我的问题是 secondTemplate.js 只对第一项的值进行操作。
Loading external script with jinja2 template directive 的最佳答案似乎可行,所以我一直在尝试将以下内容放入 for 循环中:
{% block javascript %}
<script type="text/javascript">
{% include "secondTemplate.js" %}
</script>
{% endblock %}
但是js仍然只反映列表中第一项的值。
有什么想法吗?谢谢!
【问题讨论】:
-
你的 JavaScript 看起来/做什么?
-
能否提供完整的模板代码?我在下面写了一个您可能会觉得有用的答案,但它没有回答您的问题。
-
对我来说,您似乎在混合服务器端和客户端处理。
secondTemplate.js究竟做了什么?为什么不在服务器上用 Python 来做呢?你在那儿真正在做什么?不要抽象!告诉我们您最终想要达到的目标。
标签: javascript jinja2