gpt4 book ai didi

javascript - 将 Stringarray 交给 django 模板并在 d3 中使用它

转载 作者:行者123 更新时间:2023-12-03 12:38:11 37 4
gpt4 key购买 nike

我想将 view.py 中的字符串数组移交给模板,并将该字符串用于 D3。

views.py:

def index(request):
template = loader.get_template("myApp/index.html")
data = ["a","b","c"]
context = RequestContext(request,{"data":data})
return HttpResponse(template.render(context))

index.html:

<html>

<head>
<title>Some project</title>
<script type="text/javascript" src="http://d3js.org/d3.v3.min.js"></script>
</head>

<body>
<h1>Some project visualisation</h1>

<script type="text/javascript">

var dataArray = {{ data }};
...

在“var dataArray = {{ data }};”我收到语法错误。我在浏览器控制台和我的 dataArray 中查找了这个看起来像这样:

var dataArray = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;]

我也尝试过使用 json.dumps(data),但我得到了类似的 dataArray,例如:

var dataArray = [&quot;a&quot;,&quot;b&quot;,&quot;c&quot;]

最佳答案

您正在搜索的是“安全”过滤器:

context = RequestContext(request,{"data":json.dumps(data)})

...

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

https://docs.djangoproject.com/en/dev/ref/templates/builtins/#std:templatefilter-safe

如果您在 JavaScript 中更频繁地使用变量,则将 off autoescape 转换为可能是有意义的。

关于javascript - 将 Stringarray 交给 django 模板并在 d3 中使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23635504/

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