我对 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 只对第一项的值进行操作。
使用 jinja2 模板指令加载外部脚本的最佳答案似乎是可行的,所以我一直在尝试将以下内容放入 for 循环中:
{% block javascript %}
<script type="text/javascript">
{% include "secondTemplate.js" %}
</script>
{% endblock %}
但是 js 仍然只反映列表中第一项的值。
有任何想法吗?谢谢!