javascript - Django:如何在没有你''的情况下将数组传输到javascript?

标签 javascript django arrays django-templates

在 View 中:

'some_array': ['text1','text2', 'text3']

当我尝试将它在模板中传输到 js 脚本时:

<script type="text/javascript">
    some_func({{ some_array }});
</script>

在源代码中它看起来像:

<script type="text/javascript">
    some_func([u'text1', u'text2', u'text3']);
</script>

所以这是javascript中的一个错误。

如何从数组元素中删除前缀 u'' 或者如何解决这个问题?

谢谢!

最佳答案

当您将 Python 列表转换为字符串时,您正在创建变量的 Python 表示形式 (__repr__)。您在这里尝试做的是创建相同数据的 JavaScript 表示。

JSON 是一种很好的数据传输方式,因为很多语言都有很好的 JSON 解析器。对于 JavaScript,情况更是如此,因为 JSON 实际上是原生 JavaScript 语法,因此您可以将 JSON 表示直接放入 JavaScript 源代码中。

要生成 JSON,您可以使用 Python 的内置 JSON 库(Python 2.6+)。

>>> import json
>>> json.dumps([u'text1', u'text2', u'text3'])
'["text1", "text2", "text3"]'

这会创建一个可以在您的模板中使用的字符串。

关于javascript - Django:如何在没有你''的情况下将数组传输到javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8224574/

相关文章:

PHP删除结构内数组中的重复结果

javascript - 是否可以修改 Google Maps V3 中的缩放过渡?

javascript - 在backbone.js集合上递归使用groupBy

javascript - 当 React 中 ref.current 发生变化时收到通知

javascript - 无法运行此 DEBUG=AATT* http_port=3000 Node app.js

Java递归: Determine how many numbers in an array is greater than index 1

javascript - 使用 "*"运算符在输入内进行乘法

Django 形成 ChoiceField : how to add data attributes to input radios?

python - 使用 slugs 和基于类的 View 时无法找到 View

python - 从base64代码保存图片