无法在python flask中呈现db数据
我正在开始使用PythonFlask,我正在尝试了解如何将数据呈现到html视图,从数据库获取数据。当我运行代码时,它不会产生错误,但是视图没有信息,如果我在单独的测试文件中尝试代码,我可以看到控制台中显示了数据库中的所有内容,但不确定为什么它不会显示在html视图中。 这是代码无法在python flask中呈现db数据,python,flask,sqlalchemy,flask-sqlalchemy,Python,Flask,Sqlalchemy,Flask Sqlalchemy,我正在开始使用PythonFlask,我正在尝试了解如何将数据呈现到html视图,从数据库获取数据。当我运行代码时,它不会产生错误,但是视图没有信息,如果我在单独的测试文件中尝试代码,我可以看到控制台中显示了数据库中的所有内容,但不确定为什么它不会显示在html视图中。 这是代码 from flask import Flask from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from dat
from flask import Flask
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from database_setup import Base, Restaurant, MenuItem
engine = create_engine('sqlite:///restaurantmenu.db')
Base.metadata.bind = engine
DBSession = sessionmaker(bind = engine)
session = DBSession()
app = Flask(__name__)
@app.route('/')
def HelloWorld():
allRest = session.query(Restaurant).all()
output = ''
for el in allRest:
output += el.id
output += '</br>'
return output
从烧瓶导入烧瓶
从sqlalchemy导入创建引擎
从sqlalchemy.orm导入sessionmaker
从数据库\u设置导入库、餐厅、菜单项
引擎=创建引擎('sqlite:///restaurantmenu.db')
Base.metadata.bind=引擎
DBSession=sessionmaker(bind=engine)
session=DBSession()
app=烧瓶(名称)
@应用程序路径(“/”)
def HelloWorld():
allRest=session.query(Restaurant).all()
输出=“”
对于allRest中的el:
输出+=el.id
输出+=''
返回输出
Html视图:空且无错误。因此,我不确定为什么在从数据库获取所有信息后,我看不到任何东西。如果您确定数据库是创建的并且里面有数据的话。然后需要将id显式转换为字符串:
output += str(el.id)
我认为最可能的答案是数据库中没有数据。如果不是这样,我们可能需要更多的信息。至少,我们可能需要看到html代码被输出。这就是说,您应该能够自己比远程调试人员更容易地调试它。我有两个建议:
Restaurant
对象后设置一个中断,只需查看它是否返回了任何内容数据库中是否充满了数据?@SelimAjimi是的,我添加了一个种子,有很多信息,如果我用上面使用的相同命令创建一个test.py文件,我就可以让它们工作。