Django:如何在没有 u 的情况下将数组传输到 javascript '?
在视图中:
'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''
或者如何解决这个问题?
谢谢!
in views:
'some_array': ['text1','text2', 'text3']
When I try to transfer it in template to js script:
<script type="text/javascript">
some_func({{ some_array }});
</script>
In source code it looks like:
<script type="text/javascript">
some_func([u'text1', u'text2', u'text3']);
</script>
So it is an error in javascript.
How to remove prefix u''
from array's elements or how to get around this?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
当您将 Python 列表转换为字符串时,您正在创建变量的 Python 表示形式 (
__repr__
)。您在这里尝试做的是创建相同数据的 JavaScript 表示。JSON 是一种传输数据的好方法,因为许多语言都有良好的 JSON 解析器。对于 JavaScript 来说更是如此,因为 JSON 实际上是原生 JavaScript 语法,因此您可以将 JSON 表示直接放入 JavaScript 源中。
要生成 JSON,您可以使用 Python 的内置 JSON 库 (Python 2.6+)。
这将创建一个可在模板中使用的字符串。
When you transfer a Python list into a string, you are creating the Python representation of your variable (
__repr__
). What you are trying to do here is create a JavaScript representation of the same data.JSON is a great way to transfer data because so many languages have good JSON parsers. In the case of JavaScript this is even more true since JSON is actually native JavaScript syntax so you can put the JSON representation straight into the JavaScript source.
To generate the JSON, you can use Python's built-in JSON library (Python 2.6+).
This creates a string that can be used in your template.
将数据结构转换为 JSON 字符串 并使用它。
Convert the data structure to a JSON string and use that instead.