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

Django模板中视图字典变量的遍历与访问方法咨询

在Django模板中遍历字典变量并格式化输出

嘿,作为Django新手遇到这个问题太正常了,别慌!其实要实现你想要的输出格式,用Django模板的循环语法就能轻松搞定。

首先,你的ltp是个嵌套字典:外层的键是股票代码(比如BSE:INFY),对应的值是包含last_price的子字典。在Django模板里,我们可以用{% for key, value in 字典.items %}的语法来遍历外层字典的键值对。

基础遍历实现

直接在模板里写这段代码,就能逐个输出你要的格式:

{% for stock_code, stock_info in ltp.items %}
    {{ stock_code }} - {{ stock_info.last_price }}
{% endfor %}

这段代码的逻辑很简单:

  • stock_code就是外层字典的键(比如BSE:INFY)
  • stock_info是对应的子字典,通过.last_price就能直接取出里面的价格数值

实现逗号分隔的紧凑格式

如果你想要像例子里那样用逗号把所有条目连起来(BSE:INFY - 1150.3,NSE:INFY - 1150),可以利用Django模板的内置变量forloop.first来控制逗号的显示:

{% for stock_code, stock_info in ltp.items %}
    {% if not forloop.first %}, {% endif %}
    {{ stock_code }} - {{ stock_info.last_price }}
{% endfor %}

forloop.first会在第一次循环时返回True,所以我们只在不是第一个条目的时候添加逗号,这样就不会出现开头有多余逗号的尴尬情况啦。

小确认

既然你已经能通过{{ ltp }}输出完整字典内容,说明视图函数已经正确把ltp变量传递给模板了,这部分就不用额外调整啦~

内容的提问来源于stack exchange,提问作者Naveen Kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:56:51