我想用Django模板执行以下列表迭代:

foo = ['foo', 'bar'];
moo = ['moo', 'loo'];

for (a, b) in zip(foo, moo):
    print a, b

Django代码:

{%for a, b in zip(foo, moo)%}
  {{a}}
  {{b}}
{%endfor%}

当我try 此操作时,会出现以下错误:

File "/base/python_lib/versions/third_party/django-0.96/django/template/defaulttags.py", line 538, in do_for
    raise TemplateSyntaxError, "'for' statements should have either four or five words: %s" % token.contents

我怎么才能做到这一点呢?

推荐答案

做一件事是可能的

{% for ab in mylist %}
    {{ab.0}}
    {{ab.1}}
{% endfor %}

但是你不能在for大楼内拨打zip.您必须首先将压缩列表存储在另一个变量中,然后对其进行迭代.

Django相关问答推荐

Django的update_or_create失败,尽管指定了kwargs'

Django/SendGrid-密码重置-发件人地址与验证的发件人身份不匹配.";

如何在Django表单中传递self.请求数据?

在Django的个人页面中的问题

使用OuterRef过滤器获取Django记录的最大值

DJANGO 获得模型中发现的第一、第二和第三大价值

当从 fastapi 发送请求时,Django 无法对 Postgres 执行查询

如何将多个模型添加到单个列表视图?

Django 转储数据将附加数据添加到 json 导出

如何计算 Django 模型中特定对象的数量?

变量为无时默认模板标签输出的Django设置?

如何查看 Django 调试工具栏?

TestCase 类中的 setUpClass、setUpTestData 和 setUp 有什么区别?

获取 Django 中的缓存键列表

django npm 和 node 包架构

Django admin:我可以定义字段顺序吗?

如何在不发送信号的情况下保存模型?

Django 测试 - 在所有测试中修补对象

左加入 Django ORM

Python Django 的多线程