首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Flask 学习-89.模板中迭代字典.items()

Flask 学习-89.模板中迭代字典.items()

作者头像
上海-悠悠
发布2023-01-03 13:01:42
发布2023-01-03 13:01:42
8300
举报

前言

django 中迭代字典,可以直接Dict.items,在flask 中迭代字典遇到了一些坑

迭代字典

视图部分

代码语言:javascript
复制
data = {
    "name": "yoyo",
    "email": "123@qq.com"
}

@app.route('/hello')
def hello():
    return render_template('hello.html', data=data)

在 django 中items 不需要加括号,直接这样写没问题

代码语言:javascript
复制
<body>
<p>迭代字典</p>
{% for key, value in data.items %}
   <p>{{key}}: {{ value }}</p>
{% endfor %}
</body>

但是flask 中会报错TypeError: ‘builtin_function_or_method’ object is not iterable

代码语言:javascript
复制
File "D:\demo\flask_api_demo\templates\hello.html", line 9, in top-level template code
{% for key, value in data.items %}
TypeError: 'builtin_function_or_method' object is not iterable

后来发现django 对jinja2 模板做了一些自己的封装,跟flask里面用的jinja2 模板语法有一些区别 在flask 模板中引用方法,需加括号.items()

代码语言:javascript
复制
<body>
<p>迭代字典</p>
{% for key, value in data.items() %}
   <p>{{key}}: {{ value }}</p>
{% endfor %}
</body>
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-10-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始学自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 迭代字典
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档