如何在烧瓶jinja2中重新加载for循环?

时间:2020-08-26 00:39:39

标签: python flask jinja2

在烧瓶jinja2中使用for循环时遇到麻烦。这就是我所做的。

mongodb集合

firstCollection = {{"company":"apple"},{"company":"tesla"},{"company":"google"}}
secondCollection = {{"number":"1"},{"number":"2"},{"number":"3"}}

run.py

import flask
import pymongo
from flask import abort, Flask, render_template
from flask_pymongo import PyMongo


app = Flask(__name__)
app.config["MONGO_URI"] = "mongodb://localhost:27017/mrstock" 
mongo = PyMongo(app)

@app.route("/")
def test():

    coll1 = mongo.db.firstCollection
    coll2 = mongo.db.secondCollection

    coll1Datas = coll1.find({})
    coll2Datas = coll2.find({})

    return render_template("test.html",coll1Datas=coll1Datas,coll2Datas=coll2Datas)


if __name__ == "__main__" : 
    app.run(debug=True) 
    

test.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>


    {% for coll1 in coll1Datas %}
            {{coll1.company}}
            {% for coll2 in coll2Datas %}
                {{coll2.number}}
            {% endfor %}
    {% endfor %}
</body>
</html>

结果看起来像这样

apple 123 tesla google

这是for循环,因此,我期望像

apple 123 tesla 123 google 123

为什么第一个循环中的第二个循环只工作一次?我做了几次测试,我认为在for循环之后,jinja2不再有数据信息了。如何反复使用烧瓶中发送的数据“ for loop”?谢谢您的支持!

0 个答案:

没有答案