Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Flask中组织特定于蓝图的配置_Python_Flask_Flask Sqlalchemy - Fatal编程技术网

Python 在Flask中组织特定于蓝图的配置

Python 在Flask中组织特定于蓝图的配置,python,flask,flask-sqlalchemy,Python,Flask,Flask Sqlalchemy,目前,我正在尝试为我的公司创建一个内部应用程序,它将不同的用例捆绑到一个应用程序中。这也意味着对于每个用例,我可能有不同的配置 我决定用蓝图组织我的Flask应用程序,SQL语句是用SQLAlchemy触发的,但我不知道如何为每个蓝图使用不同的数据库来将其传递给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']