Python循环遍历多值QuerySet类型问题的处理心得——嵌套字典

在实际项目中,常常需要将多条信息以字典形式传递给Django模板进行显示。本文分享了如何处理循环遍历QuerySet返回的嵌套字典问题,通过创建包含列表长度的key值的字典,使模板能够循环展示每个数据表类的属性,同时保持字段的可分离性,方便添加不同样式。参考了相关文章解决在for循环中遇到的问题。
摘要由CSDN通过智能技术生成

搜索引擎需要查询到数据库中符合条件的所有网页并一一显示,前边介绍了单条语句的查询与显示,实战中需要将多条并列信息传入模板,列表肯定是不够的,这就考虑到了字典。

list = page.object_list

dict = {}#便于模板循环显示数据
#将返回字典加list字母为值,下标数字为键加入dict字典,
for i in range(0,len(list)):
    dict['list'+str(i)] = list[i]
#将数据行数count加入字典,便于模板遍历
return render(request,'XunLu_details/index.html',{'dict':dict,'count':count,'paginator':paginator,'page':page})

其中list是经由Paginator处理后需要在当前页上显示的所有内容(列表类型,但其中的值为相应的数据表类),我们生成一个字典dict,并向其加入len(list)个key值(list0,list1,list2......)

然后将字典与其他参数一并拼接为render字典中传入(也可用locals(),但不利于可读性),这样在模板层中就变成了循环显示嵌套字典中的值的问题(还要有可分离性,因为不同的字段要做不同处理,比如加粗,链接等)。

<div class="col-md-9">
    共找到{
  {count}}个网页 <a href="/&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值