使用Python Flask在网页上显示MongoDB文档数据

g52tjvyc  于 2022-12-03  发布在  Go
关注(0)|答案(2)|浏览(174)

我用Python写了一个代码,试图在网页上显示Mongodb的所有文档。但是,在网页上我看到了列名,但没有数据。在命令上,它确实打印了所有数据。任何帮助都非常感谢。

import pymongo
from pymongo import MongoClient
import datetime
import sys
from flask import Flask, render_template, request
import werkzeug
from flask_table import Table,Col
from bson.json_util import dumps
import json

app = Flask(__name__)

try:
 client = pymongo.MongoClient("XXXX")
 print("Connected to Avengers MongoClient Successfully from Project 
 Script!!!")
except:
 print("Connection to MongoClient Failed!!!")

db = client.avengers_hack_db

@app.route('/')
def Results():
    try:
        Project_List_Col = db.ppm_master_db_collection.find()#.limit(10)
        for row in Project_List_Col:
        print(row)
        return render_template('Results.html',tasks=row)

    except Exception as e:
    return dumps({'error': str(e)})

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

HTML(Results.html)页面为:

<html>
  <body>
     {% for task_id in tasks %}
        <h3>{{task_id}}</h3>
     {% endfor %}
   </body>
</html>
0vvn1miw

0vvn1miw1#

删除了for循环并重写了代码,如下所示:

@app.route('/')
def Results():
    try:
        Project_List_Col = db.ppm_master_db_collection.find()
        return render_template('Results.html',tasks=Project_List_Col)
    except Exception as e:
        return dumps({'error': str(e)})

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

文档按原样显示在HTML页上。
(***将在格式部分工作。同时,任何指针都非常感谢。)

zfciruhq

zfciruhq2#

尝试使用for循环的key,value函数,并按照上面的答案@Dinakar的建议,从route中删除python应用文件中的循环

相关问题