如何在 Jinja2 中使用 JavaScript 变量,例如访问列表条目?
How to use JavaScript variables in Jinja2, e.g. for accessing a list entry?
是否有可能使用 Jinja2 实现如下内容?
在我的 <script>
:
function get_word() {
let entry_number = 0;
let g = "{{ words[" + entry_number + "] }}";
}
我有一个单词列表。我想访问该列表的第 entry_number
个键。 entry_number
是一个js变量。我尝试实现这一目标的方式不起作用
jinja2.exceptions.UndefinedError: list object has no element entry_number
。所以它不使用 entry_number
的值,而是查找显然不存在的条目 entry_number
。
Jinja 将在服务器上呈现。 js会在客户端执行。
这个 "{{ words[" + entry_number + "] }}";
不是神社变量。所以 Jinja 不会解析它。
但是您可以将单词列表(作为 jinja 变量)传递给客户端并在您的 js 代码中使用它。
示例内联脚本:
<script>
const words = {{ words | tojson }};
...
function get_word() {
let entry_number = 0;
let g = words[entry_number];
...
}
...
</script>
是否有可能使用 Jinja2 实现如下内容?
在我的 <script>
:
function get_word() {
let entry_number = 0;
let g = "{{ words[" + entry_number + "] }}";
}
我有一个单词列表。我想访问该列表的第 entry_number
个键。 entry_number
是一个js变量。我尝试实现这一目标的方式不起作用
jinja2.exceptions.UndefinedError: list object has no element entry_number
。所以它不使用 entry_number
的值,而是查找显然不存在的条目 entry_number
。
Jinja 将在服务器上呈现。 js会在客户端执行。
这个 "{{ words[" + entry_number + "] }}";
不是神社变量。所以 Jinja 不会解析它。
但是您可以将单词列表(作为 jinja 变量)传递给客户端并在您的 js 代码中使用它。
示例内联脚本:
<script>
const words = {{ words | tojson }};
...
function get_word() {
let entry_number = 0;
let g = words[entry_number];
...
}
...
</script>