将Python字符串列表导入Javascript脚本(HTML文件)

2024-09-28 21:10:32 发布

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

我有一个包含嵌入式脚本(Javascript)的HTML文件。我需要从Python中导入一些列表作为变量,其中一个包含字符串的列表有问题。举个例子,我有如下几点:

# In Python
list_of_floatnums = [2.5, 3.5, 4.5]
list_of_strings = ["January", "February", "March"]

然后在剧本里,我会这样做:

<!-- Embedded JS script -->
<script>
    var i = 0;
    var js_floatnums = JSON.parse('{{ list_of_floatnums }}');
    var js_strings = JSON.parse(['{{ list_of_strings }}']);
    for (i = 0; i < '{{ number_of_cycles }}'; i++) {
        // Do something
    }
</script>

但是,我没有得到任何输出。如果我跳过JSON.parse文件()对于字符串数组:

var js_strings = ['{{ list_of_strings }}'];

然后我让其他所有东西都工作,除了字符串数组(所有东西都分配给第一个元素)。例如:

In ["January", "February", "March"] you got 2.5 points.
In undefined you got 3.5 points.
In undefined you got 4.5 points.

当然,我需要的是:

In January you got 2.5 points.
In February you got 3.5 points.
In March you got 4.5 points.

关于我不知道的事和我做错的事有什么线索吗?我总是用{variable}导入单个变量,这很简单。你知道吗

编辑:

  1. 我在用烧瓶。你知道吗
  2. number \u of \u cycles是一个整数变量,也是从Python导入的。在这种情况下,循环数=3。你知道吗

Tags: of字符串inyouvarjsscriptpoints
1条回答
网友
1楼 · 发布于 2024-09-28 21:10:32

试试这个

<script>
    var i = 0;
    var integer_value = parseInt('{{number_of_cycles}}')
    var js_floatnums= JSON.parse("{{ list_of_floatnums }}");
// or you can use var js_floatnums= { list_of_floatnums |tojson }};
    var js_strings =JSON.parse("{{ list_of_strings }}");
// or you can use var list_of_strings ={{ list_of_strings |tojson }}; 
    for (i = 0; i < integer_value ; i++) { 
        // Do something
    }
</script>

实际上,你可以使用这些方法之一

var js_floatnums= { list_of_floatnums |tojson }};
var js_floatnums= { list_of_floatnums |tojson |safe}};
var js_floatnums=JSON.parse("{{ js_floatnums}}");
var js_floatnums=JSON.dumps("{{ js_floatnums}}");

相关问题 更多 >