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
相关产品推荐
相关产品推荐

