You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask中使用for循环渲染JSON数据失败的问题求助

问题分析与解决方案

你遇到的问题核心是模板循环使用的变量名和Flask视图传递的变量名不匹配,导致循环无法获取到数据,所以内容完全不显示。

具体问题点:

在你的Flask about视图函数中,加载JSON数据后传递给模板时,用的变量名是races:

return render_template("about.html", page_title="About", races=data)

但在about.html模板里,你循环的却是一个不存在的company变量:

{% for member in company %}

模板找不到company这个变量,循环逻辑直接跳过,自然看不到里面的HTML内容。而你用{{ races[0].name }}能正常显示,也印证了races才是模板里正确的数据源变量名。

修复步骤:

只需要把模板里的循环变量替换成races即可,修改后的循环代码如下:

{% for member in races %}
<div class="row featurette">
<div class="col-md-7">
<h3>{{member.name}}</h3>
<p> {{member.description}} </p>
</div>
<div class="col-md-5">
<img class="featurette-image img-responsive" src="{{member.image_source}}" alt="Picture of {{ member.name }}">
</div>
</div>
<hr class="featurette-divider">
{% endfor %}

补充小提示:

你之前说单条数据时循环能工作,大概率是当时视图函数传递的变量名就是company,后来修改了视图里的变量名但没同步更新模板,才导致现在多数据时失效。以后修改变量名记得同步检查视图和模板的对应关系哦~

内容的提问来源于stack exchange,提问作者Elias Prado

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:56:06