3
我想弄清楚如何在Flask(Werkzeug)调试器和使用PyCharm的调试器之间调试我的Flask应用程序。据我已经得到了为具有两个PyCharm运行配置在PyCharm中调试烧瓶
- 一个,我用“运行”,并提供给应用程序脚本
--debug
标志调用;和 - 一个,我以“调试”,并提供给应用程序脚本
在我的应用程序的脚本支持的标志与”
if __name__ == "__main__":
import argparse
parser = argparse.ArgumentParser(description='Runs Web application with options for debugging')
parser.add_argument('-d', '--debug', action='store_true',
dest='debug_mode', default=False,
help='run in Werkzeug debug mode')
parser.add_argument('-p', '--pydebug', action='store_true')
dest='debug_pycharm', default=False,
help='for use with PyCharm debugger')
cmd_args = parser.parse_args()
app_options = dict()
app_options["debug"] = cmd_args.debug_mode or cmd_args.debug_pycharm
if cmd_args.debug_pycharm:
app_options["use_debugger"] = False
app_options["use_reloader"] = False
application.run(**app_options)
此工作的--pydebug
标志调用,并符合要求我不需要编辑任何代码来部署到服务器;但是我不确定这是最好的方法。有一件事我需要记住第二种配置是用“Debug”启动的(不是“Run”),而第一个是用PyCharm中的“Run”(而不是“Debug”)启动的。
是否有更好的方法来支持这两种方法来在PyCharm中进行调试,使用PyCharm的某些功能(例如,这使我能够检测何时调用“调试”而不是“运行”)或更智能地使用Flask的功能。