在 python -flask -jinja2 模板中迭代多个列表

2024-04-23

我在迭代中遇到问题for loop在 Flask jinja2 模板中的多个列表上。

我的代码如下所示

Type = 'RS'
IDs = ['1001','1002']
msgs = ['Success','Success']
rcs = ['0','1']
return render_template('form_result.html',type=type,IDs=IDs,msgs=msgs,rcs=rcs)

到目前为止我不确定是否能找到正确的模板,

<html>
  <head>
    <title>Response</title>

  </head>
  <body>
    <h1>Type - {{Type}}!</h1>
    {% for reqID,msg,rc in reqIDs,msgs,rcs %}
    <h1>ID - {{ID}}</h1>
    {% if rc %}
    <h1>Status - {{msg}}!</h1>
    {% else %}
    <h1> Failed </h1>
    {% endif %}
    {% endfor %}
  </body>
</html>

我想要得到的输出类似于 html 页面中的内容

Type - RS
 ID   - 1001
 Status - Failed

 ID   - 1002
 Status - Success

你需要zip()但它没有在 jinja2 模板中定义。

一种解决方案是压缩它before render_template函数被调用,例如:

查看功能:

return render_template('form_result.html',type=type,reqIDs_msgs_rcs=zip(IDs,msgs,rcs))

模板:

{% for reqID,msg,rc in reqIDs_msgs_rcs %}
<h1>ID - {{ID}}</h1>
{% if rc %}
<h1>Status - {{msg}}!</h1>
{% else %}
<h1> Failed </h1>
{% endif %}
{% endfor %}

另外,你可以添加zip到 jinja2 全局模板,使用Flask.add_template_x http://flask.pocoo.org/docs/api/#flask.Flask.add_template_filter函数(或Flask.template_x http://flask.pocoo.org/docs/api/#flask.Flask.template_global装饰器)

@app.template_global(name='zip')
def _zip(*args, **kwargs): #to not overwrite builtin zip in globals
    return __builtins__.zip(*args, **kwargs)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 python -flask -jinja2 模板中迭代多个列表 的相关文章

随机推荐

  • Ant Design Collapse - 关闭按钮

    我是 Ant Design 的初学者 在使用 Ant Design 库中的 Collapse 和 Form 时遇到了这个问题 我已经设置了我的页面 其中添加新项目的表单位于折叠中 并且折叠下方有一个项目列表
  • 在ios中使用Google Plus进行图像共享

    我想在 google plus 上分享图片 我使用过 google api AppDelegate m GPPSignIn sharedInstance clientID MyClientID GPPDeepLink setDelegate
  • 重命名access vba中的字段

    我需要重命名 VBA 访问代码中的字段名称以实现自动化 以便运行得更快 我正在使用一个按钮来移动一些数据 因此需要更改列名称来清理数据 我正在使用表格 但我需要更改的表格根本没有链接到表格 我尝试使用一些 VBA 代码 但不断收到变量未定义
  • 需要在Windows Phone 7屏幕上显示大量文字

    我想要在屏幕上显示大约 800 KB 的文本 有人可以让我知道这个问题的可能解决方案吗 由于文本块的 2048X2048 限制 我已经尝试将文本拆分为多个文本块 并且也尝试过http blogs msdn com b priozersk a
  • 在 FFI 中使用 ptr::NonNull 是否有效?

    铁锈具有ptr NonNull https doc rust lang org beta std ptr struct NonNull html代表非的类型NULL指针 在 FFI 中使用这种类型安全吗 是否保证具有相同的二进制表示形式 忽
  • 捕获文件似乎在数据包中间被缩短 - 如何防止此错误?

    在我的应用程序中 我打开 Tshark 进程并开始捕获 当我想完成捕获时 我会终止 Tshark 进程 因此有时捕获文件已损坏 当我尝试打开此文件时 我收到错误捕获文件似乎在数据包中间被剪短 如何防止此错误有没有更好的方法来关闭 Tshar
  • 来自 .meta .info .data 的 Tensorflow 冻结推理图并组合冻结推理图

    我是张量流新手 目前正在努力解决一些问题 如何在没有管道配置的情况下从 meta data info 获取冻结推理图 我想实时检查预先训练的交通标志检测模型 模型包含 3 个文件 meta data info 但我找不到信息 如何在没有管道
  • 为什么在 Pandas 中使用 apply 时会出现额外的索引

    当我使用apply对于 Pandas 中的用户定义函数 看起来 python 正在创建一个附加数组 我怎样才能摆脱它呢 这是我的代码 def fnc group x group C values out x np where x lt 0
  • 带计数的 EF Core 左连接

    我在 MySql 数据库上有 3 个表 我想在这 3 个表之间进行左连接并使用 group by 进行计数 城市表 Id Name 学校桌 Id CityId Name 学生桌 Id SchoolId Name MySql raw quer
  • 如何在 Azure DevOps 中启用 Docker 层缓存

    我正在运行下面的 yaml 脚本来构建 docker 映像并推送到 kubernetes 集群 但同时我想在构建 yaml 脚本时在 azure DevOps 中启用 docker 层缓存 您能否解释一下如何启用或如何添加azure dev
  • 当数据更改时,ggvis 中的 linked_brush 无法在 Shiny 中工作

    我想创建一个闪亮的应用程序 它使用 ggvis 绘制交互式图形 并使用 linked brush 选择图形中的点 绘图数据根据输入而变化 但是当我尝试将所有内容放在一起时 我收到一条错误消息 Error Length of calculat
  • 使用 AVPlayer 的 MTAudioProcessingTap 和远程 URL 进行 AVFoundation 音频处理

    关于以下内容的文档很少AVA音频混合 http developer apple com library mac documentation AVFoundation Reference AVAudioMix Class Reference
  • Flexbox 中的第一个子级全角

    如何将 Flexbox 的第一个子项设置为全角 并将所有其他子项设置为flex 1 用于分割空间 像这样 您可以设置 first child宽度为100 以及其余的孩子 not first child to flex 1 要将它们放在多行上
  • 带有多个闹钟的Android闹钟[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想创建一个带有多个闹钟的闹钟 我想
  • 一种自动取消和重新启动任务的模式

    是否有推荐的自我取消和重新启动任务的既定模式 例如 我正在开发后台拼写检查器的 API 拼写检查会话被包装为Task 每个新会话都应该取消前一个会话并等待其终止 以正确地重新使用拼写检查服务提供者等资源 我想出了这样的东西 class Sp
  • Android Web 视图中隐藏在键盘下方的文本框

    我创建了一个简单的 iPhone Android 应用程序 包含一个普通的 Web 视图 这个网络视图调用我的网站 在我的网站上有几种输入类型 文本或文本区域的表单 当它们位于页面底部时 我遇到了问题 1 在我的iPhone应用程序中 键盘
  • 将内部图像替换为外部图像

    用户单击 蒙版 并上传图像 其显示的同一张图片两次 also Edit文本正在图像上显示 一旦用户单击 编辑文本 我们就会显示pop up box 在那里我们可以看到Zoomin Zoomout按钮正在显示 Issue 一旦我们点击这些按钮
  • 如何解决此 Log4J 导入错误(也与类路径相关)?

    当我运行以下简单的 log4J 示例时 出现错误 import org apache logging log4j core import java io import java sql SQLException import java ut
  • 在SQL Server中将float转换为varchar而不使用科学记数法

    在 SQL Server 中将 float 转换为 varchar 无需科学记数法和修剪小数 例如 我有浮点值1000 2324422 然后它会被转换成varchar一样1000 2324422 可以有任意数量的小数值 浮点值是随机出现的
  • 在 python -flask -jinja2 模板中迭代多个列表

    我在迭代中遇到问题for loop在 Flask jinja2 模板中的多个列表上 我的代码如下所示 Type RS IDs 1001 1002 msgs Success Success rcs 0 1 return render temp