当前位置: 首页 > 面试题库 >

以数组形式访问javascript中的python列表

文心思
2023-03-14
问题内容

我的flask views.py中有这个

    def showpage():
      ...
      test = [1,2,3,4,5,6]
      return render_template("sample.html",test=test)

我的样本.html中有这个

    <script> var counts = {{test}}; </script>

这给了我一个空的计数变量。如何获得与python中的测试列表相同的计数?


问题答案:
  1. 当你将变量插入模板时,{{ test }}它将采用对象表示形式。对于int的列表,[1,2,3,4,5,6]它将被呈现为[1, 2, 3, 4, 5, 6],因此它是有效的javascript数组,但是此方法对于不具有类似javascript表示形式的复杂对象不是安全的,例如,test = [1,2,3,4,5,any]作为[1, 2, 3, 4, 5, <built-in function any>],但这仅是示例,永远不会起作用。

  2. 要在flask中隐式转换为javascript对象,请使用以下tojson过滤器:

<script> var counts = {{ test|tojson }}; </script>

因此,如果对象是JSON可序列化的,则将全部呈现,否则模板引擎将引发异常。

  1. 你还可以将javascript代码发送到模板:
from flask import json
return render_template("sample.html",test=json.dumps(test))

但这不是一个好方法,最好使用tojson同时也是HTML标记安全的过滤器。

  1. 我宁愿不要在模板中混用任何JavaScript代码,也不要将模板,JavaScript和JavaScript数据与Ajax混合使用。如果这种方法很难,我宁愿使用tojson过滤器。


 类似资料:
  • 问题内容: 我的烧瓶views.py中有这个 我的样本.html中有这个 这给了我一个空的计数变量。如何获得与python中的测试列表相同的计数? 问题答案: 当您将变量插入模板时,它将采用对象表示形式。对于int列表,它将被呈现为,因此它是有效的javascript数组,但是此方法对于没有类似javascript表示的复杂对象不是安全的,例如,test = [1,2,3,4,5,any]将被呈现

  • 我正在python中构建一个flask应用程序,我使用render_template、名称和交易返回两个数组到我的HTML文件中。我知道这些工作是因为我尝试过的代码,给出了正确的值。 这表明我可以用HTML访问它们。接下来我要做的是获取一些图形,并看到Y轴上的值,以及图表上每个条的标签名称。我从Chart.js中找到了一个图示例,并开始使用它。但是我没有取得任何进展,我真正想要的是改变数据点,所以

  • 我正在开发一个应用程序,当我从列表中选择一个值(文件)时,它应该以不同的形式在jTextPane中打开。我使用的是两个面板,一个是显示列表的主面板,另一个是ExcelSheet,当我单击列表值时,主面板关闭,新表单ExcelSheet显示,但jTextPane中的文档文件内容不显示。

  • 问题内容: 我正在开发一个应用程序,当我从列表中选择一个值(文件)时,应该在另一种形式的jTextPane中打开它。我正在使用两个面板,一个是显示我的列表的mainpanel,另一个是ExcelSheet,当我单击列表值时,mainpanel关闭并显示新表单ExcelSheet,但不显示jTextPane中doc文件的内容。 问题答案: 使用封装,为了显示给定文件更新文本窗格中的代码。您可以从添加

  • 问题内容: 有时我需要在Python中迭代一个列表,以查看“当前”元素和“下一个”元素。到目前为止,我已经使用以下代码完成了此操作: 这行得通,符合我的期望,但是有没有一种更惯用或有效的方式来执行相同的操作? 问题答案: 这是模块文档中的一个相关示例: 对于Python 2,你需要代替: 工作原理: 首先,两个平行的迭代器,a和b被创建(在tee()呼叫),两者都指向原始迭代的第一个元素。第二个迭

  • 问题内容: 问题很容易,我想遍历列表的每个元素和成对的下一个(将最后一个与第一个包裹在一起)。 我考虑过两种非Python的方法: 和: 预期输出: 关于这样做的更pythonic方式的任何建议?也许有一个我没有听说过的预定义功能? 同样,更一般的n折(三重奏,四重奏等代替对子)也可能很有趣。 问题答案: 我已经编写了元组通用版本的代码,我喜欢第一个版本,因为它非常简洁,我看的越多,对我的感觉就越