从flask应用程序模块导入功能而不启动应用程序

2024-04-25 08:19:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在不启动应用程序的情况下导入flask{}模块中定义的函数

我的设置如下所示:

my_app.py
config.py
app
|___ __init__.py
|___ functions.py
|___ routes.py

其中__init__.py包含:

from flask import Flask
from config import Config

app = Flask(__name__)
app.config.from_object(Config)

from app import routes

my_app.py包含:

from app import app

现在当我这样做的时候:

from app.functions import function1

在其他一些脚本中,由于__init__.py的构建方式,这将启动应用程序,这是我不想要的。有解决办法吗

注意:我知道简单的解决方案是将这些函数移到app模块之外,然后将它们导入app模块。我只是好奇我是否能做得不同


Tags: 模块函数frompyimportconfigapp应用程序
1条回答
网友
1楼 · 发布于 2024-04-25 08:19:04

通常,您将应用程序创建放在create_app函数中,如下所示:

def create_app():
    app = Flask(__name__)
    return app

然后,当模块加载时,应用程序不会启动

这称为应用程序工厂

另见正式文件:

https://flask.palletsprojects.com/en/1.1.x/patterns/appfactories/

相关问题 更多 >