我正在使用appengine,django和webapp2,并发送一个查询对象客户端,以便
{{ exercise_steps }}
返回
Query(kind='ExStep')
和
{{ exercise_steps.count }}
返回4
我正在尝试将变量exercise_steps放入一些javascript代码中,并且需要遍历javascript(不是django)循环中的项目,但我似乎无法访问这些项目。
我已经尝试了{{exercise_steps | 0}},{{exercise_steps [0]}},{{exercise_steps.0}},但它没有返回任何内容。我知道我可以使用django循环执行此操作,但有一种方法可以使用类似
之类的javascript循环访问查询中的对象for (var i = 0; i < {{exercise_steps.count}}; i++) {
console.log({{ exercise_steps.i.location }})
}
答案 0 :(得分:1)
你无法混合客户端代码和模板代码......到javascript运行时,你的python代码已经执行了。您没有向javascript发送python对象 - 它是在生成HTML时执行的。
你需要在JS中重新创建数组,或者让ajax调用从python返回一个数组。
var steps = [
{% for step in exercise_steps %}
{{ step.location }}{% if not forloop.last %},{% endif %}
{% endfor %}]; // now your python iterable is a JS array.