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的功能。