如何获取所有可用的命令选项来设置环境变量?

Kam*_*mil 4 python flask

关于设置命令选项烧瓶手册只讲了设置FLASK_RUN_PORT可以通过Click加载的环境变量的命令。

我如何找到其他选项并将它们与模式一起使用FLASK_COMMAND_OPTION

我想将它设置为我的 vscode launch.json。

PRM*_*reu 7

您可以通过在 shell 中执行来访问所有可用命令:

flask --help
Run Code Online (Sandbox Code Playgroud)
[...]
Commands:
      db     Perform database migrations.
      run    Runs a development server.
      shell  Runs a shell in the app context.
Run Code Online (Sandbox Code Playgroud)

然后,如果您想列出给定命令的所有可用选项,例如run

flask run --help 
Run Code Online (Sandbox Code Playgroud)
Options:
      -h, --host TEXT                 The interface to bind to.
      -p, --port INTEGER              The port to bind to.
      --reload / --no-reload          Enable or disable the reloader.  By default
                                      the reloader is active if debug is enabled.
      --debugger / --no-debugger      Enable or disable the debugger.  By default
                                      the debugger is active if debug is enabled.
      --eager-loading / --lazy-loader
                                      Enable or disable eager loading.  By default
                                      eager loading is enabled if the reloader is
                                      disabled.
      --with-threads / --without-threads
                                      Enable or disable multithreading.
      --help                          Show this message and exit.
Run Code Online (Sandbox Code Playgroud)

因此,您可以将它们与文档示例中的模式一起使用,您只需在 ALLCAPS 中将名称和选项与下划线连接起来:

export FLASK_RUN_PORT=8000
export FLASK_RUN_HOST=0.0.0.0
Run Code Online (Sandbox Code Playgroud)

您还可以定义布尔选项:

export FLASK_RUN_RELOAD=True   
export FLASK_RUN_RELOAD=False
Run Code Online (Sandbox Code Playgroud)

注意:flask --help将列出默认命令,但如果您在执行此帮助 ( export FLASK_APP=my_app.py)之前定义您的应用程序,您还将获得所有自定义命令。

Commands:
      db      Perform database migrations.
      deploy
      run     Runs a development server.
      shell   Runs a shell in the app context.
      test    perform tests
Run Code Online (Sandbox Code Playgroud)