app.run(debug=True),会导致flask_sqlalchemy错误!
Closed this issue · 0 comments
gitDebianD commented
开启debug模式后,debug=Ture的时候,flask_sqlalchemy的with self.app.app_context()会重复执行。
例如我写入一条数据 {user:"123",name:"youname"}, 在debug模式下 with self.app.app_context() 会执行完写入完毕后,会重新执行一次,导致程序退出,提示重复写入!
我以为是我代码问题,我检查了无数次,都无法找到我代码问题,最后关闭debug模式后,就可以正常使用。
复现办法:
app.py:
app.run(debug=True)
model.py:
pass
userdb.py:
with self.app.app_context():
new_user = userdbmodel(userdb)(user='11eee',
name=input("input")
)
userdb.session.add(new_user)
userdb.session.commit()
会出现两次input输入,之后会提示重复后程序停止。
目前只要把app.run(debug=True)改为app.run(debug=False),例如:
app.py:
app.run(debug=False)
就只会执行一次,不会报错。