正在等待MySQL执行,然后再呈现模板



我使用的是Flask和MySQL。执行后出现更新数据而非的问题。

目前,我正在删除并重定向回管理页面,这样我就可以有一个更新版本的网站。然而,我仍然会在前端的表格中显示旧条目。手动刷新后,一切正常。这个问题有时也会发生在数据根本没有发送到前端的情况下,因为模板的渲染速度比MySQL的执行速度快,并且空列表被向前发送,我想。

在Python上我有:

@app.route("/admin")
def admin_main():
query = "SELECT * FROM categories"
conn.executing = True
results = conn.exec_query(query)
return render_template("src/admin.html", categories = results)

@app.route('/delete_category', methods = ['POST'])
def delete_category():
id = request.form['category_id']
query = "DELETE FROM categories WHERE cid = '{}'".format(id)
conn.delete_query(query)
return redirect("admin", code=302)

admin_main是主页面。我尝试添加某种"信号量"系统,只执行一次"conn.executing"就会变为false,但也没有成功。我还尝试过使用async和wait,但没有成功("视图函数没有返回有效的响应"(。

在这种情况下,我不知何故别无选择,也不知道如何处理这个问题。感谢您的帮助!

我认为问题不在于数据没有被正确读取,而在于页面没有被刷新。尽管控制台打印页面的GET请求,但它并不直接,因为它已经在同一页面上了。

我目前正在研究的唯一解决方案是socket.io实现,以动态更新内容。

相关内容

  • 没有找到相关文章