我正在尝试通过google app引擎中的jinja2将服务器上的数组放置到网页上,但是我似乎无法获取它,因此它可由jQuery代码读取。我很新-第一次尝试这样的事情。
我的python代码如下所示(为简洁起见,删除了一些代码):
import json
jinja2_ENVIRONMENT.filters['json'] = json.dumps
filterList = ["context","home"]
template_values = {
"filterList" : filterList
}
我通过使用传递给输出:
self.response.write(template.render(template_values))
我的html模板中的属性如下所示:
filterlist="{{ filterList|json }}"
我的问题是浏览器上的javascript无法读取该数组。在元素检查器中,它看起来像这样:
filterlist="["context", "home"]"
而对于JSON,我认为我希望使用类似[[“ context”,“ home”]'的内容,以使其可由jQuery代码读取。 [编辑:它是可读的,但是作为字符串,而不是作为数组...如果不需要,我宁愿不必编写解析器]。
var filterList = $("body").attr("filterlist");
感谢您的帮助。
最佳答案
您已经将JSON传递给模板了。因此,只需使用以下命令输出:
filterlist={{ filterList|safe }};