我正在尝试通过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 }};

10-08 00:58