【问题标题】:Getting dictionary key values in django template在 django 模板中获取字典键值
【发布时间】:2019-03-28 12:03:11
【问题描述】:

我在 django 中有一个使用 Counter() 创建的字典。我有一个名为 studentlist 的列表。我用一些元素填充这个列表。然后我用 Counter() 得到重复元素的编号。

在我看来:

    studentlist = []
    for stu in studentslatetoclassthissemester:
        student = str(stu['student__std_no'])
        studentlist.append(student)

    studentsum = Counter(studentlist)

所以 studentsum 是一个字典,如下所示。

计数器({'0247': 4, '0044': 1, '0050': 1, '0241': 1, '0854': 1, '0245': 1, '0076': 1, '0234 ': 1})

在 django 模板中,我试图获取特定的键和值,如下所示:

{% for key, value in studentsum.items %}                  
    {{key}} - {{value}}                  
{% endfor %}

但我得到以下错误:

异常类型:TypeError

异常值:'int' 对象不可迭代

【问题讨论】:

  • 你是如何将studentsum 传递给视图的?
  • 请显示完整的回溯。你从哪里得到这个错误?
  • 我的印象是您可能更改 studentsum in 模板,因此在第二次迭代中出现问题。跨度>
  • 谢谢。它是用 dict() 解决的,如下所示。在视图中。

标签: python django dictionary django-templates django-views


【解决方案1】:

在视图中更改它

studentsum = Counter(studentlist)

studentsum = dict(Counter(studentlist))

【讨论】:

  • 计数器是dictionary 的子类,因此通常它也应该与Counter 一起使用。
  • 谢谢。当我在这个答案中使用 dict() 时它起作用了。
猜你喜欢
  • 2018-11-15
  • 2015-05-23
  • 2018-04-14
  • 1970-01-01
  • 2019-12-13
  • 2019-06-18
  • 2021-07-18
  • 2022-12-11
  • 2013-11-18
相关资源
最近更新 更多