此coe应显示当前在数据库中的所有记录,但事实并非如此。重新加载页面时,它不会显示添加到数据库的最新行。
mod = Blueprint('home', __name__)
conn = engine.connect()
def grabData():
query = text(
"SELECT * FROM "
"users "
"ORDER BY id DESC "
)
rows = conn.execute(query).fetchall()
return rows
@mod.route('/')
def home():
return render_template('index.html', result=grabData())
MySQL Workbench 显示新行存在。重新启动烧瓶应用程序后,将显示新行。
我还尝试将查询放在home()
中,但这也不起作用。我有什么想法我做错了吗?
答案 0 :(得分:0)
我首先想要感谢大家的评论,我找到了答案,我希望用户@davidism会发布它,但我想我会,但这是他的全部学分。
所以他的评论是,我引用,"不要在全球范围内打开连接,为每个请求打开它"。那我该怎么办?我只针对每个请求打开了数据库连接,这实际上解决了我的问题。
而不是原始帖子上的代码,这就是我最终要做的工作。
mod = Blueprint('home', __name__)
def grabData():
conn = engine.connect()
query = text(
"SELECT * FROM "
"users "
"ORDER BY id DESC "
)
rows = conn.execute(query).fetchall()
conn.close()
return rows
@mod.route('/')
def home():
return render_template('index.html', result=grabData())