Невозможно импортировать имя 'db' (фляга, sqlalchemy) [дубликат]

Из youMightNotNeedJquery.com + JSON.stringify

var request = new XMLHttpRequest();
request.open('POST', '/my/url', true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
request.send(JSON.stringify(data));

1
задан elephantsdadshusband 15 January 2019 в 19:29
поделиться

1 ответ

db - это просто локальная переменная в функции create_app(). Вам нужно будет создать этот объект за пределами фабрики create_app().

Вы можете создать объект плагина Flask-SQLAlchemy db , не передавая аргумент app, и на фабрике подключить этот объект к te Flask app с помощью [117 ], как вы это уже делали для плагина Flask-SocketIO:

db = SQLAlchemy()

def create_app(debug=False):
    app = Flask(__name__)
    app.debug = debug
    app.config['SECRET_KEY'] = 'gjr39dkjn344_!67#'
    app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql:///site.db'

    db.init_app(app)
    socketio.init_app(app)

    from .main import main as main_blueprint
    app.register_blueprint(main_blueprint)

    return app 

Теперь db доступен как глобальный элемент в модуле и может быть импортирован в другое место.

0
ответ дан Martijn Pieters 15 January 2019 в 19:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: