在 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/