问题标签 [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 回答
1795 浏览

python - 有没有办法在每个 uwsgi worker 中运行初始化代码(分叉后)

有没有办法(在 uWSGI 或 Flask 中)注册一个函数,以便在生成尽快在每个工作人员中运行?

我们有一个烧瓶应用程序,它可以从预加载一堆东西中受益。以下仅对preload8 个工作进程调用一次。第一个请求很快,但预加载的对象以某种导致错误的方式共享。

如果我使用before_first_request,则在每个工作进程中加载​​对象并且没有错误,但是第一个请求非常慢。

我还尝试设置一个烧瓶脚本。运行命令有效,但显然对象是在命令的进程中加载​​的,而不是在 uwsgi 工作人员中加载的。

我想如果我们使用before_first_request,我们可以在重新启动 uwsgi 后手动触发请求。这是这里唯一的解决方案吗?

编辑:刚刚找到 uswgi hook-post-fork选项(和其他钩子选项)。我明天要试试。也许其中之一就是我需要的。

0 投票
1 回答
103 浏览

python - 我怎么知道传递给 flask_script 的管理器的参数

我有一个烧瓶应用程序,在它的一个脚本命令中我想知道传递给管理器的参数是什么(而不是命令本身),我该怎么做?

如果我运行:

我想检测是否'--debug'通过 .func 的命令行参数传递hello。我不能只是改变

到装饰器版本:

因为'-d|--debug'被许多命令共享。

0 投票
0 回答
110 浏览

python - 在调用 Flask Manager 命令之前加载参数

在运行管理器的 run 方法之前,我需要添加一些预配置参数来设置应用程序,并且我需要使用参数来获取它们。有一次,我让他们 run_app 来做剩下的事情。

我的问题如下:将参数传递给管理器的唯一方法是将它们添加到 run_app 调用后执行的运行命令函数中。在 run_app 执行之前使用 argparse 添加参数接口也不起作用,因为它会导致与烧瓶的管理器发生冲突错误。你知道我可以采取什么方法来解决这个问题吗?

我正在通过调用运行应用程序python manager run

谢谢您的帮助 :-)

0 投票
0 回答
67 浏览

python - 我应该怎么做才能使用烧瓶脚本连接到已经运行的烧瓶实例并在 ubuntu 的终端内单击

我希望能够连接到 ubuntu 终端内已经运行的烧瓶应用程序实例。我试过烧瓶脚本并点击,但问题是当我执行“烧瓶壳”命令时,它启动了一个新的应用程序实例,我无法使用已经运行的实例,知道吗?

0 投票
1 回答
160 浏览

flask - 以正确的方式构建 Flask 项目(无蓝图)

介绍

我已经阅读了 SO 和其他网站上的一千篇文章,试图找出我的 Flask 结构出了什么问题,以及为什么我似乎无法弄清楚一些事情。作为最后的手段,我决定最后在这里问这个问题。

我的项目非常简单:

  1. 我必须通过 API 从一些网络设备中获取一些数据,处理数据并将其存储在 Postgresql 数据库中(大部分代码在lib/.
  2. 该项目将部署在多个环境(测试、开发、登台和生产)上。

要执行上述操作,我使用以下内容:


项目详情

我的项目结构如下所示:

我的app.py看起来像这样:

我的config.py看起来像这样:

我的__init__.py看起来像这样:

我的manage.py看起来像这样:

我的模型/model1.py看起来像这样:


问题

现在,我有三个主要问题:

  1. 在我的主要__init__.py如何SQLALCHEMY_DATABASE_URI从应用程序的配置中导入?
  2. Session()对象放入其中__init__.py似乎不太直观。应该放在其他地方吗?对于更多上下文, thesession用于lib/f5_bigip.py并且可能也将用于api/
  3. 整个项目结构还好吗?
0 投票
1 回答
238 浏览

python - 我无法在 Flask 上使用 SQLAlchemy 创建表

您好我正在尝试使用 SQLAlchemy 创建数据库及其表,为此我有以下代码和结构:

要求:

用户模型

连接器

api

api.add_resource(检测器,'/api/v1.0/det')

经理

为了创建表,我使用了这个 python manager.py create_tables,它返回:

2020-07-23 00:45:15,815 信息 sqlalchemy.engine.base.Engine SELECT CAST('test plain return' AS VARCHAR(60)) AS anon_1 2020-07-23 00:45:15,815 INFO sqlalchemy.engine.base .Engine () 2020-07-23 00:45:15,816 INFO sqlalchemy.engine.base.Engine SELECT CAST('test unicode returns' AS VARCHAR(60)) AS anon_1 2020-07-23 00:45:15,816 INFO sqlalchemy .engine.base.Engine()

数据库文件已创建,但为空。

为什么模型没有加载到数据库中?

谢谢。

0 投票
1 回答
52 浏览

flask-sqlalchemy - 升级前 Flask-migrate 更改数据库

我设置了一个多租户结构,其中每个客户都为他们设置了一个模式。该结构反映了“父”模式,因此发生的任何迁移都需要以相同的方式发生在每个模式中。

我正在使用 Flask-Script 和 Flask-Migrate 来处理迁移。

到目前为止,我尝试的是迭代我的模式名称,为它们构建一个 URI,使用从 URI 生成的引擎限定一个新的 db.session,最后从 flask_migrate 运行升级功能。

我不完全确定为什么这不起作用,但结果是它只运行应用程序启动时设置的数据库的迁移。

我的理论是我不会更改管理器脚本运行时最初设置的会话。

有没有更好的方法来迁移这些模式中的每一个而不设置多个绑定和使用 --multidb 参数?我认为我不能在配置中使用 SQLALCHEMY_BINDS,因为这些模式需要能够动态创建/销毁。

0 投票
1 回答
565 浏览

python-3.x - 已安装模块但 Python 找不到它

我正在使用运行 Python 3.9 的 VS Code 我已经使用 pipenv shell 设置了一个虚拟环境,并且我安装了 flask-script,如下所示在我的 pipfile 中:

Python 文件顶部的导入仍然显示黄色下划线并且: Import "flask_script" could not be resolved Pylance 报告 MissingImports

如果您尝试运行它,它会显示: ModuleNotFoundError: No module named 'flask_script'

那么请问它是如何工作的呢?其他模块也会时不时地发生这种情况。你应该如何安装一个模块?

任何帮助表示赞赏

0 投票
1 回答
30 浏览

python - 启动后烧瓶运行脚本

嘿,一旦烧瓶启动但在第一个请求之前,试图让脚本运行。

查看@app.before_first_request 方法,这似乎在运行之前等待请求。另一种可能的选择是使用 flask_script 库。很可能最终会使用它,但想看看是否有人有任何其他不包括需要新库的建议。

干杯,