Python 在Flask中组织特定于蓝图的配置
目前,我正在尝试为我的公司创建一个内部应用程序,它将不同的用例捆绑到一个应用程序中。这也意味着对于每个用例,我可能有不同的配置 我决定用蓝图组织我的Flask应用程序,SQL语句是用SQLAlchemy触发的,但我不知道如何为每个蓝图使用不同的数据库来将其传递给SQLAlchemy。或者在一个配置中使用多个绑定是最好的方法 请分享你的经验Python 在Flask中组织特定于蓝图的配置,python,flask,flask-sqlalchemy,Python,Flask,Flask Sqlalchemy,目前,我正在尝试为我的公司创建一个内部应用程序,它将不同的用例捆绑到一个应用程序中。这也意味着对于每个用例,我可能有不同的配置 我决定用蓝图组织我的Flask应用程序,SQL语句是用SQLAlchemy触发的,但我不知道如何为每个蓝图使用不同的数据库来将其传递给SQLAlchemy。或者在一个配置中使用多个绑定是最好的方法 请分享你的经验 多谢各位,托马斯,我四处转转,找到了一个可行的解决方案。我对特定于蓝图的数据库使用绑定 这是我的工作原理,如果有人对同一个问题感兴趣或苦苦思索的话 在一些./
多谢各位,托马斯,我四处转转,找到了一个可行的解决方案。我对特定于蓝图的数据库使用绑定 这是我的工作原理,如果有人对同一个问题感兴趣或苦苦思索的话 在一些./app/config.py脚本中添加数据库配置 类配置: 密钥 秘钥='你永远不知道' SQLALCHEMY_绑定={ '数据库':'mysql+mysqlconnector://user:password@本地主机/数据库' } SQLALCHEMY\u TRACK\u MODIFICATIONS=False 在您的./app/_init__.py中,您可以执行以下操作: ./app//app/\uuuuuu init\uuuuuuuuu.py: ./app/something\u app/something.py: ./app/app/model.py:
from flask import Flask
from .config import Config
app = Flask(__name__)
app.config.from_object(Config)
with app.app_context():
from .somewhat_app import bp as somewhat_bp
app.register_blueprint(somewhat_bp)
from flask import Blueprint
bp = Blueprint('somewhat', __name__, url_prefix='/somewhat')
from . import somewhat
from . import bp
from flask import (
render_template, request, url_for, jsonify, make_response
)
from flask import current_app as app
from .model import MyTable
@bp.route('/')
def index():
resp = MyTable.query.limit(20).all()
return render_template('somewhat/index.html', resp=resp)
from flask import current_app as app
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy(app)
db.reflect(bind='database')
class MyTable(db.Model):
__bind_key__ = 'database'
__table__ = db.metadata.tables['mytable']