python - Django 模板语言解压字典

标签 python django templates django-templates

我有一个字典(作为另一个对象的一部分)传递给 django 模板语言。 名为“poll”的对象具有属性 self.textself.votes,其中前者是一个字符串,后者是一个字典。 字典看起来像这样: {'a1': 45.92422502870264, 'a2': 53.50172215843857} 我正在尝试使用以下方法列出每个标签及其附带的编号:

{% for l, x in poll.votes %}
<p>{{ l }} {{ x }}</p>
{% endfor %}

Django 响应

Exception Type: ValueError
Exception Value:    Need 2 values to unpack in for loop; got 3.

我尝试了 .iteritems - 文档解释说 .iteritems 不是执行此操作的正确方法,但他们没有解释正确的方法

最佳答案

您只需像在 python 中一样进行迭代,但使用 Djangos 模板语言 (DTL) 语法

 {% for key, value in dictionary.items %}

您的 poll.votes 是一个字典,但您不是在迭代项目,而是在代码中迭代键。

您可以找到 jinja 的概述 here .值得注意的是,jinja 不是 django 使用的,但它可以方便地作为浓缩引用,因为很多东西都是相同的(jinja 基于 DTL),而不是通过 django 文档进行挖掘。

对于 Djangos 模板继承人 the documentation reference

关于python - Django 模板语言解压字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50612834/

相关文章:

python - 第一个 : "Unable to find vcvarsall.bat" and Now: "TypeError: unorderable types: NonType() >= str()"

python - 有没有一种简单的方法可以在Django模板中显示mysql数据而不创建应用程序?

c++ - 使用基类指针调用带有派生类参数的模板化函数

c++ - 什么时候实例化模板类的特殊成员函数?

python - 如何从Python请求中检索字典数据?

python - 命令行世界时钟?

python - 删除文件时pyfilesystem的权限

python - 如何在 Cython 中构建 iostream 对象(例如 cout)并将其传递给 C++ 函数?

django - 在 Django 的 HTTP post 请求后保留在选项卡上

c++ - 分配器专门用于 c++14 中的数组类型?