我想db在发生异常时回滚我的会话,所以我尝试了:
@app.teardown_request
def teardown_request(exception):
print "Teardown 1 {0!r}".format(exception)
if exception:
print ">>>> Exception Happaned <<<<"
db.session.rollback()
db.session.remove()
print "good"
db.session.remove()
我通过强制代码出错来进行测试以引发异常,即使使用此代码也是如此:
raise Exception("bacoff")
但是它总是打印"Teardown 1 None"和"good"。
让我感到困惑的是,一旦我通过关闭了DEBUG模式app.run(debug=False),该异常就显示正确了:
Teardown 1 Exception('bacoff',)
>>>> Exception Happaned <<<<
good
所以,我不知道这是Flask框架的错误,还是我的配置错误...
拉风的咖菲猫
相关分类