gpt4 book ai didi

flask - 在代码或 `flask run` 命令中指定 Flask 重新加载监视列表(extra_files)

转载 作者:行者123 更新时间:2023-12-03 16:31:19 30 4
gpt4 key购买 nike

我有一些 Flask 应用程序,我通过设置 FLASK_APP 来运行它们。环境变量和调用 flask run .自 FLASK_DEBUG也设置了,每当我更改一些代码时,应用程序都可以方便地重新加载。

但不是所有的代码。还有其他文件,即我加载的配置文件 app.config.from_pyfile ,我也希望该应用程序观看,因此如果我更改这些内容,它会重新加载。我怎样才能做到这一点?

我知道我可以指定 extra_files如果我从代码中调用它,则在内置的 Werkzeug 服务器中。但正如我所提到的,我实际上使用的是内置的 flask run命令。我在这个项目中有多个应用程序,所以可以选择运行哪一个 FLASK_APP已经证明很方便...除了似乎没有办法指定 extra_files .我可以编写一些可以同时执行这两种操作的 bootstrap 代码,但我更愿意使用某种内置方式(如果存在)。

如果我可以简单地在应用程序本身中指定文件,并在加载它们时将它们添加到监视列表中,那将会特别方便。遗憾的是,extra_files似乎不是 App 的成员对象,即使它是 app.run() 中的参数.

我无法想象这是一个不常见的用例。 Flask 是否提供了一种方法来做我想做的事?

最佳答案

我刚刚在 manage.py 中尝试了以下命令:

@manager.option('-w', '--wsgi_server', dest='server', default='flask',
help='[flask|gevent|tornado]')
@manager.option('-p', '--port', dest='port', default=5000,
help='Port to listen')
@manager.option('-d', '--debug', dest='debug', action="store_true", default=False,
help='Show debugging information')
def run(server, port, debug):
app.connexion_app.run(
port=int(port),
server=server,
debug=debug,
extra_files=[
'./proj/oauth2/swagger.yaml',
'./proj/api/swagger.yaml',
])

extra_files似乎很好:
 * Debugger is active!
* Debugger PIN: 336-632-033
* Detected change in '<-snip->/proj/api/swagger.yaml', reloading

关于flask - 在代码或 `flask run` 命令中指定 Flask 重新加载监视列表(extra_files),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43688777/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com