问题标签 [flask-cli]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Flask CLI 命令和参数
如何让 Flask CLI 命令接受参数?
Flask 似乎自定义了 Click Group 对象,所以这不起作用:
python - flask cli 找不到脚本 manage.py
我的烧瓶应用程序是一个名为的包app
,位于/Users/gexinjie/Codes/MyProject/xinnjie_blog
文件树是这样的
我将其导出为PATHONPATH
,因此manage.py
可以导入app
和出口FLASK_APP
当前目录是/Users/gexinjie/Codes/MyProject/xinnjie_blog
这里是manage.py
这是app.__init__.py
但是如果我执行flask initdb
,我会收到这个错误:
如果我执行flask run
,我得到
为什么找不到manage.py?我该如何解决它。(实际上,当manage.py
有烧瓶应用程序时效果很好)
谢谢
python - 使用 Flask-CLI 运行时,Flask app.errorhandler 未捕获异常
在使用 Flask-CLI 调用应用程序时,我正在努力让我的 Flask 应用程序正确处理错误。
这是一个简单的文件,名为app_runner.py
:
test_run
我通过这个 bash 命令调用该函数: FLASK_APP=app_runner.py flask test_run
.
我看到第一个打印语句“你会看到这个”,但我没有看到那个说“我希望我看到这个”的语句。
我点击了Exception
,但我从来没有进入下定义的代码app.errorhandler
。有没有人有什么建议?
python - 使用应用程序工厂迁移 Flask 时出错
运行.py
管理.py
当我运行时: python manage.py db init
当我运行时:flask db init
我尝试将 FLASK_APP 导出为 run、run.py、run.create_app、run:create_app(),但仍然出现上面显示的错误。是什么导致了这个错误?
python - 在 FlaskGroup 中使用 `create_app` 参数
我有烧瓶应用程序,它使用应用程序工厂模式来实例化烧瓶应用程序。我正在尝试将 Flask CLI 命令行集成到我的烧瓶应用程序中。
任何人都可以帮助我理解调用create_app
内部参数的使用FlaskGroup
。
以下是我的代码片段。
如果我像普通的烧瓶应用程序一样使用,那么我就不必使用create_app
参数,在这种情况下我的代码片段看起来像
python - Flask CLI 命令不在 __init__.py 文件中
我正在尝试添加commands
到我的 Flask 应用程序中。
这是我的__init__.py
文件:
如果我添加它:
我可以毫无问题地运行flask test_run
,但是如果我尝试将代码移动到另一个文件,例如: ,我在尝试运行命令时commands.py
会收到错误消息。Error: No such command "test_run".
我错过了什么?
python - 使用 PyCharm 调试器运行 Flask CLI 命令
我在 Flask 中创建了一个自定义 CLI 命令,我可以flask my_command
在终端中运行它。我想使用 PyCharm 的调试器运行这个命令。
我创建了一个“Flask 服务器”配置,并使用 PyCharm 调试器在我在视图函数中设置的断点处停止运行它。但是,如果我尝试从 PyCharm 的终端运行我的 CLI 命令,它不会在命令的断点处停止。
我是否需要自定义配置来调试自定义 CLI 命令?我发现了一个关于 Django 命令的问题,但是 PyCharm 的“Flask 服务器”配置没有相同的选项。如何配置 PyCharm 来调试 Flask CLI 命令?
python - 在 CLI 命令中访问 Flask 应用程序上下文
我想注册一个在 Flask 应用程序工厂的单独文件中定义的 CLI 命令。此命令需要访问app.config
. 但是,current_app.config
从命令访问会引发RuntimeError: Working outside of application context.
app/__init__.py
instance/config.py
app/commands.py
我希望运行flask my_command
输出TESTVALUE
。但是,我收到以下错误:
我需要使用with app.app_context():
forcurrent_app
来工作,但我无权访问,app
因为它是在工厂中定义的。如果我@app.cli.command()
在工厂使用,这不会有问题,因为我可以访问app
变量,甚至不需要推送应用程序上下文。
但是,我想在其他文件中定义我的命令并让它们使用应用程序配置中的值,而这需要将所有命令嵌套在工厂函数中。
我尝试使用命令中的工厂创建一个应用程序,这很有效,但我不认为这样做只是为了访问配置变量是一个好主意。
使用应用程序工厂模式时,如何定义可以访问应用程序上下文的命令?
python-3.x - 创建自定义“测试”命令以运行 Flask 应用程序的测试套件
我们正在使用一些自定义命令扩展 Flask-cli。该命令test
是其中之一:
然而,一个典型的测试(使用 Python 的内置 unittest 模块)看起来像这样,它基于此处描述的样式。
我显然在这里遇到了一个反模式:我已经使用 default( development
) 配置初始化了一个烧瓶对象,因为我需要它用于@app.cli.command()
装饰器,这一切都发生在run.py
. 但是,一旦我在其中运行测试 setUp 函数,some-tests.py
我就必须以某种方式使用该配置获取一个 Flask 对象,例如,通过使用现在发生testing
的配置重新创建一个 Flask 应用程序。testing
我想知道如何实现一个flask-cli
测试命令,其中只Flask
创建一个对象,该对象在各种测试用例中重复使用,而无需testing
在我flask test
在命令行上运行之前明确设置环境。
flask - 当我使用烧瓶 cli 运行我的应用程序时,为什么会收到错误“未从...获得有效的 Flask 应用程序”?
我尝试使用烧瓶 cli 启动我的应用程序,即flask run
. 我使用FLASK_APP
环境变量指向我的应用程序,即export FLASK_APP=package_name.wsgi:app
在我的wsgi.py
文件中,我使用工厂函数创建应用程序,即app = create_app(config)
我的 create_app 方法如下所示:
但是,应用程序没有启动,我收到错误:
未从“package_name.wsgi:app”获取有效的 Flask 应用程序。
为什么是这样?
我使用gunicorn时可以正常启动我的应用程序,即gunicorn package_name.wsgi:app