Skip to main content
 首页 » 编程设计

python之Django 字典键,for 循环中的值不起作用

2025年05月04日28cmt

我遇到了一个 Django 问题,我无法在 for 循环中访问字典的值。它在 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

请您参考如下方法:

您可能需要访问您称为errors 的dict 的.items()。只需遍历 dict 即可为您提供键,但不会提供值。

您可以将代码更改为:

{% for k, v in errors.items %} 
  <div class="{{ v.class }}"><p>{{ v.txt }}</p></div> 
{% endfor %} 

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