此问题在此处已有答案:
Why does running the Flask dev server run itself twice?(7个答案)
两个月前关门了。
如果这不是一个有效的问题,请道歉。
我可以通过在命令行中引入一个可选参数来运行我的flask应用程序,如下所示:
python main.py reset
对于我的情况,reset
参数清除了连接到Web应用程序的sqlite数据库中的所有行,这意味着我可以用一个新的数据库来启动应用程序。
然而,在使用debug=True
进行开发的过程中,当应用程序运行和我保存文件时,似乎上面的CL命令与可选参数沿着被调用,导致我的数据库不断被清除。
显而易见的解决方法是在我清除数据库后不带可选参数重新运行应用程序,这样调试模式就不会调用可选参数。
我想知道这是否被认为是一个“bug”,或者只是调试功能的工作方式,没有什么可以改变这一点?
1条答案
按热度按时间bbmckpt71#
我不太清楚为什么在您不期望的情况下调用reset,我必须main.py在调试器中查看www.example.com才能弄清楚。
但是Flask有一个内置的方法,可以为你的用例定制命令,比如重置数据库,或者用虚拟数据填充数据库等等。
$ flask resetdb
https://flask.palletsprojects.com/en/2.2.x/cli/#custom-commands