gpt4 book ai didi

javascript - 使用 Django render 将 JSON 传递给 JS

转载 作者:太空狗 更新时间:2023-10-29 22:14:55 24 4
gpt4 key购买 nike

在我的 views.py 文件中,我有以下字典:

data = {'pk': '1980.24', 'model': 'artworks.metaData', 'fields': {'medium': 'Oil on canvas ', 'description': 'missing', 'credit': 'Gift of Nicholas Wyeth, 1980 ', 'collection': 2, 'height': '21.7', 'culture': 'Missing value', 'depictedPeople': 'missing', 'creation_date': '1896 ', 'account': 'n/a', 'original_url': 'http://www.metmuseum.org/art/collection/search/10738?sortBy=Relevance&what=Canvas%7cOil+paintings&ao=on&ft=*&offset=0&rpp=100&pos=1', 'url': 'annotatie01.io.tudelft.nl/collections/Metropolitan/1980.24.jpg', 'title': 'Gooseberries ', 'object_number': '1980.24', 'width': '35.7', 'artist': 'Joseph Decker '}}

我希望能够在我的网页上使用/访问这本词典。

我的尝试:

我尝试使用 views.py 中的渲染器发送数据,

def foo():
context = {'data':data}
return render(request, 'index.html', context=context)

使用以下方式访问它:

<script type="text/javascript">
var received_data = "{{data}}";
</script>

用这个,传输数据,但是乱码:

"{&#39;pk&#39;: &#39;1980.24&#39;, &#39;model&#39;: &#39;artworks.metaData&#39;, &#39;fields&#39;: {&#39;medium&#39;: &#39;Oil on canvas &#39;, &#39;descripti...etc

我尝试使用 json.dumps(data)JSON.parse(received_data ) 但这引发了一个错误:

 Uncaught SyntaxError: Unexpected token & in JSON at position 1.

简而言之:

如何使用 Django Render() 将 JSON 数据从 Py 发送到 JS?

最佳答案

最简单的方法是

<script type="text/javascript">
var received_data = "{{ data|safe }}";
</script>

安全警告json.dumps不转义正斜杠:攻击是 {'</script><script>alert(123);</script>': ''}

关于javascript - 使用 Django render 将 JSON 传递给 JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44824358/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com