问题标签 [flask-script]

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.

0 投票
1 回答
357 浏览

python - 没有参数的鼻子 main() 会产生奇怪的行为

我有一个 Flask 应用程序,我正在使用 Flask-Script 和 Flask-Testing。基本上我有一个manage.py看起来像这样的文件:

我的应用树看起来像:

__init__.py只包含一些使 Flask-SQLAlchemy 的东西在测试中工作的东西,并且test_one.py只包含一个空的测试函数。

奇怪的是:当我运行时python manage.py test,它开始执行一些奇怪的测试(我相信来自 Python 本身的测试)。如果我更改nose.main()nose.main(argv=['']),我的测试将被正确发现并且一切顺利。

使用 plain 有什么问题nose.main()

0 投票
1 回答
1425 浏览

flask - 在 Flask-Script 中与 Flask 的应用程序交互

我有一个烧瓶应用程序正在运行,我想要一些可以与之交互的东西。让我用下一个例子来解释它:

烧瓶应用程序:

烧瓶脚本(manager.py):

从应用程序内部reload_mytext()调用函数。text_reload()

我应该在烧瓶脚本中添加什么魔法来完成这些事情?这样的事情甚至可能吗?

0 投票
0 回答
1056 浏览

flask - 带有参数和 cron 作业的烧瓶脚本

我有一个使用烧瓶脚本扩展运行的烧瓶应用程序。一个函数(带有 3 个参数)被放置在我的 cron 中,并以以下方式结束:

就像在烧瓶脚本文档中提到的那样 -链接

当我直接在控制台中调用它时,这个函数可以正常工作(就像在烧瓶脚本文档中提到的那样)

但不在我的 cron 中(添加了必要的注释“# arg2 注释”)。

当我在树莓派上运行这个脚本时,cron 或 python 都没有错误。有什么线索吗?

0 投票
1 回答
1271 浏览

python - Flask-Script add_option 方法不起作用

使用烧瓶脚本的add_option方法,我正在尝试将配置文件的名称传递给我create_app(),以便我可以配置from_pyfile()——Flask Instance Folders

我用这个要点让我开始。

manage.py

app.py

这只是我的create_app功能的一个片段,但我正在像这样启动应用程序:

如您所见, 我认为这是由于from flask 脚本而不是打印config/heroku.cfg它,但我不知道为什么会发生这种情况。NoneUserWarning

0 投票
1 回答
9344 浏览

python - Flask-Script 如何访问当前应用程序?

我正在尝试从 Flask-Script manager.command 访问当前的应用程序实例。

这会出错(url_map 是 flask.app 的属性)

这行得通,但我不喜欢在应用程序旁边添加括号。

调试器显示 app 是可调用的。这与我创建应用程序实例的方式有关。我正在遵循这种模式:

来自烧瓶脚本的文档说关于应用程序参数Manager(app)

app – Flask 实例,或可调用的返回 Flask 实例。

我很乐意在其中放置一个可调用对象,因为文档说没关系。:-) 另外,我见过其他人这样做。

但是现在我有这个我想添加的外围命令,它迫使我使用带有括号的应用程序,这闻起来很不对劲。我究竟做错了什么?

编辑:我做了一些实验。这绝对是错误的。通过添加括号,应用程序实例将第二次重新创建。

0 投票
1 回答
6317 浏览

flask - 蓝图初始化,我可以在第一次请求蓝图之前运行一个函数吗

是否可以在对特定的第一个请求之前运行一个函数blueprint

目前这将产生以下错误:

0 投票
7 回答
64625 浏览

python - 烧瓶应用程序启动后运行代码

我的目标是在我的 Flask 应用程序启动后让任意代码运行。这是我所拥有的:

理想情况下,我将能够做到这一点:

但是代码不会继续过去app.run(),所以 some_code() 永远不会运行。

我目前正在研究的解决方案是在 app.run() 的单独线程中运行 some_code(),创建一个before first request函数来设置它:

然后让 some_code() 向应用程序发出基本请求,以便“在第一次请求之前”代码运行。这是相当复杂的,并且很难记录。我宁愿使用 Flask 中已经提供的 app.is_running 参数,或者使用@app.after_server_start装饰器,但据我所知,这些都不存在。

帮我把这段代码做得更好?


死后:每次想到这个问题,我都希望有一个@app.after_server_start装饰器存在。

0 投票
1 回答
1534 浏览

flask - 使用应用工厂和 Flask 脚本时导入 Flask 应用

这是 Flask 应用程序上下文

应用程序上下文的大多数用例涉及在同一脚本上初始化“应用程序”或从基础导入应用程序。

我的申请结构如下:

这可能真的是微不足道的问题,但是如果我的应用程序的结构是这样的,我应该如何调用'with app.app_context()'?

0 投票
3 回答
15714 浏览

python - flask manage.py runserver 无法传递参数

用户 manager.py runserver 我的烧瓶网络框架可以在http://127.0.0.1:5000上启动,但它不能在网络中的其他计算机上访问。所以我需要在网络中使用开放 IP。虽然我使用波纹管命令:

它无法运行并给出错误信息:

不知道有什么问题??

0 投票
1 回答
2249 浏览

python - 如何在烧瓶脚本的@manager.options 中设置默认值

我已经使用flask-script 包构建了一个命令行python 脚本来访问一个常规APIRest 服务通过flask 管理的sql 数据库。我在为我的脚本命令设置参数时遇到问题。尤其是:

a) 如何在 @manager.options 行中设置默认值

b) 如何设置标志

我尝试过类似以下的方法:

我设法通过将它添加到函数变量来“破解”默认值,但是我不知道@manager.option 中的“默认”参数是什么?另外,useCredit 总是问我一个值,我怎样才能让它成为一个标志?

更新

感谢@carlos的回答,我意识到我一定是测试错了,因为它确实可以在 manager.option 命令中设置默认参数。似乎我在函数定义中放置的任何值 (def newClient(credit=100, useCredit=False) 都被忽略了。我本以为系统会发出一些警告或错误...