为了账号安全,请及时绑定邮箱和手机立即绑定

Django dict键,for循环中的值不起作用

Django dict键,for循环中的值不起作用

陪伴而非守候 2021-09-28 16:38:47
我在 Django 问题上有点卡住了,我无法在 for 循环中访问 dict 的值。它在 for 循环之外工作,而不是在内部。我在这里错过了明显的东西吗?Python:err{}err['else'] = {'class': 'Low', 'txt': 'zero'}err['if'] = {'class': 'High', 'txt': 'one'}data = { 'errors': err }return render(request, 'index/error.html', data)HTML模板:<p>{{ errors }}</p><p>{{ errors.if }}</p><p>{{ errors.if.class }}</p>{% for error in errors %}  <div class="{{ error.class }}"><p>{{ error.txt }}</p></div>{% endfor %}上面 3 行用于代码调试,工作正常。for 循环不产生任何代码。最好的问候,LVX
查看完整描述

3 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

你可能需要访问.items()的dict,你叫errors。只是迭代 adict给你键,而不是值。


您可以将代码更改为:


{% for k, v in errors.items %}

  <div class="{{ v.class }}"><p>{{ v.txt }}</p></div>

{% endfor %}

当然,如果您不需要键(if和else),那么您也可以使用.values()而不是items()仅获取dict.


查看完整回答
反对 回复 2021-09-28
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

你应该像这样尝试 - error['class']

第二种方式 - error[key]['class']

使用 forloop - for k,v in errors: print(v['class'])


查看完整回答
反对 回复 2021-09-28
  • 3 回答
  • 0 关注
  • 187 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号