我正在尝试呈现一个显示评论数量(1条评论或xxx条评论)的模板。我通过jinja2遍历了GAE中实体实例的一个对象,但它只在之后的每个循环中执行第一个循环。我的代码出了什么问题?
<table>
{% for each in courses_taught %}
<tr>
<td id="num_reviews">
<script type='text/javascript'>
var html_output = "";
var review_count ={{each.num_reviews}};
if (review_count ==1) {
html_output += "<a href='../course/{{each.key()}}'>1 review</a>";
}
else if (review_count > 1) {
html_output += "<a href='../detail/course/{{each.key()}}'>" + num_reviews + " reviews</a>";
}
else {
html_output +="<a id='trailblazer' href='../../../review/writeReview/{{each.key()}}'>Be the trailblazer</a>";
}
var reviewCount = document.getElementById("num_reviews");
reviewCount.innerHTML = html_output;
</script>
</td>
</tr>
{% endfor %}发布于 2013-04-30 15:18:35
不需要任何额外javascript的Jinja解决方案:
{% for each in courses_taught %}
{{ each.num_reviews }}
review{% if each.num_reviews > 1 %}s{% endif %}
{% endfor %}如果你想使用javascript (为什么?):
{% for each in courses_taught %}
<tr>
<td id="num_reviews-{{each.unique_id}}">
<script type='text/javascript'>
var html_output = "";
var review_count = {{each.num_reviews}};
if (review_count == 1) {
html_output += "<a href='../course/{{each.key()}}'>1 review</a>";
}
else if (review_count > 1) {
html_output += "<a href='../detail/course/{{each.key()}}'>" + num_reviews + " reviews</a>";
}
else {
html_output +="<a id='trailblazer' href='../../../review/writeReview/{{each.key()}}'>Be the trailblazer</a>";
}
var reviewCount = document.getElementById("num_reviews-{{each.unique_id}");
reviewCount.innerHTML = html_output;
</script>
</td>
</tr>
{% endfor %}其中,unique_id是循环中每个each元素的唯一属性。
https://stackoverflow.com/questions/16294110
复制相似问题