将flask应用程序数据传递给其他python脚本

将flask应用程序数据传递给其他python脚本,python,flask,Python,Flask,我正在尝试保存“app”数据并将其传递给其他python脚本。目前,我只是将相同的代码复制并粘贴到相关的python脚本中,但我想知道是否可以在将其导入其他python脚本的地方有一个副本 目录布局: …/flask_app.py …/scripts/mail_stuff.py 例如: from flask import Flask from flask_mail import Mail, Message app = Flask(__name__) app.config["DEBU

我正在尝试保存“app”数据并将其传递给其他python脚本。目前,我只是将相同的代码复制并粘贴到相关的python脚本中,但我想知道是否可以在将其导入其他python脚本的地方有一个副本

目录布局:

  • …/flask_app.py
    …/scripts/mail_stuff.py
例如:

from flask import Flask
from flask_mail import Mail, Message
app = Flask(__name__)
app.config["DEBUG"] = True
app.secret_key='secret_key'
app.config['MAIL_SERVER'] = "smtp.office365.com"
app.config['MAIL_PORT'] = 587
app.config['MAIL_USE_TLS'] = True
app.config['MAIL_USERNAME'] = 'username'
app.config['MAIL_PASSWORD'] = 'password'
mail = Mail(app)

初始化flask应用程序时,通过类对象设置配置变量,使用config.from_对象方法,而不是直接赋值。然后,如果需要其他文件中的配置数据,只需导入配置对象,就可以获得所需的数据。此方法允许您将配置变量与应用程序对象解耦

(flask_app.py file)
app = Flask(__name__)
app.config.from_object('config.Config')



(config.py file)
class Config:
    MAIL_SERVER = "smtp.office365.com"
    MAIL_PORT = 587



(mail_stuff.py file)
from config import Config
my_new_mail_port_variable = Config.MAIL_PORT