在HTML内部使用Python并行迭代多个列表(Flask)

在HTML内部使用Python并行迭代多个列表(Flask),第1张

概述我正在构建一个在 pythonanywhere之后托管的python web应用程序.我正在修改生成的应用程序以符合我自己的目标. 这是我用来将变量传递给HTML文档的python代码,以便使用for循环将它们添加到表中: from flask import Flask, redirect, render_template, request, url_forapp = Flask(__name @H_419_0@ @H_419_0@ 我正在构建一个在 pythonanywhere之后托管的python web应用程序.我正在修改生成的应用程序以符合我自己的目标.

这是我用来将变量传递给HTML文档的python代码,以便使用for循环将它们添加到表中:

from flask import Flask,redirect,render_template,request,url_forapp = Flask(__name__)app.config["DEBUG"] = Trueproductnames = []revIEws = []@app.route("/",methods=["GET","POST"])def index():if request.method == "GET":    return render_template("main.HTML",revIEws=revIEws,productnames=productnames)revIEws.append(request.form["revIEw"])productnames.append(request.form["products"])return redirect(url_for('index'))

在我的HTML中使用以下代码,我循环遍历该列表并将每个项目添加到表中:

{% for revIEw in revIEws %}    <tr>        <td></td>        <td>{{ revIEw }}</td>        <td></td>    </tr>{% endfor %}

然而,这是有效的,我试图遍历多个列表,并发现各种语句说zip函数是我正在寻找的所以我将我的HTML代码更改为以下段,它不再有效.

{% for revIEw,product in zip(revIEws,productname) %}    <tr>        <td>{{ product }}</td>        <td>{{ revIEw }}</td>    <td></td></tr>{% endfor %}

从python的任何地方,错误页面显示“错误代码:未处理的异常”,并通过pythonanywhere仪表板的错误日志说:

2018-04-24 12:57:23,957:   file "/home/FdScGroup/cloudapp/templates/main.HTML",line 43,in top-level template code2018-04-24 12:57:23,957:     {% for revIEw,productnames) %}

我如何让它工作?

任何帮助表示感谢,谢谢.

解决方法 zip()是一个python函数,不是用Flask(Jinja2)的模板语言执行的函数.

因此,在视图中应用zip()并将结果传递给模板:

return render_template("main.HTML",revIEws_products=zip(revIEws,productnames))

然后应用这个技巧:
how to iterate over a list of list in jinja在模板中.

@H_419_0@ 总结

以上是内存溢出为你收集整理的在HTML内部使用Python并行迭代多个列表(Flask)全部内容,希望文章能够帮你解决在HTML内部使用Python并行迭代多个列表(Flask)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1076538.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存