【发布时间】:2021-07-07 02:22:43
【问题描述】:
在我的 HTML 文件的 javascript 部分中,我需要使用 jinja 循环从烧瓶传递的 JSON。 但是,当索引达到已经存在的 javascript var 的值时,我需要中断循环。
var username_selected = $('#username').find(":selected").text();
{% for user in users if user.username == username_selected -%}
var key = {{ user.keynumber }};
$('#originalkey').val(key);
{% endfor %}
不幸的是,这不起作用,我认为这是因为 jinja 认为 username_selected 是 jinja 的一部分,但它不是。
我尝试使用 JS var 值创建一个 jinja 变量,但没有帮助。
{% set username = namespace(username=username_selected) %}
是否有任何解决方法或者它在物理上是不可能的?
【问题讨论】:
-
这是完全不可能的,因为 jinja 模板代码在服务器上运行,在生成的 HTML 发送到浏览器之前,并且在浏览器开始运行客户端
-
请注意,您似乎将 JSON 称为对象或数组,但要将其插入到您的客户端 JS 代码中,您实际上需要将其转换为 JSON(即文本)。
-
我是这样解决这个问题的:pastebin.com/DrTNku8M
标签: javascript python html flask jinja2