Как сохранить URI базы данных в конфигурации Flask для SQLAlchemy?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как сохранить URI базы данных в конфигурации Flask для SQLAlchemy?

Сообщение Anonymous »

Я использую Flask и SQLAlchemy (не flask-sqlalchemy).
Я пытаюсь получить доступ к конфигурации Flask из кода моей базы данных , но он говорит мне, что я не в контексте приложения, возможно, потому, что приложение еще не полностью инициализировано.
У меня есть app.py:

Код: Выделить всё

from flask import Flask

from root.views.calibration_views import calibration

nwm_app = Flask(__name__)
nwm_app.config.from_pyfile('myConfig.cfg')
print('config', nwm_app.config)
Мой файл калибровки_views импортирует базу данных data.py, которая выглядит следующим образом:

Код: Выделить всё

from sqlalchemy import URL, create_engine
from sqlalchemy.orm import sessionmaker

from flask import current_app as nwm_app

url = URL.create(
drivername="postgresql",
username="postgres",
password="postgres",
host="localhost",
database="flask_test"
)
engine = create_engine(url, echo=True)

with nwm_app.app_context():
print('config', nwm_app.config)

Session = sessionmaker(bind=engine)
Я пытаюсь получить объект конфигурации с помощью current_app, что позволяет избежать ошибки Python при циклическом импорте, но все равно получаю

Код: Выделить всё

RuntimeError: Working outside of application context.

This typically means that you attempted to use functionality that was needed.

The current application. To solve this, set up an application context.

With app.app_context(). See the documentation for more information.
Nwm_app.app_context() был моей попыткой исправить это, но это не дало никакого эффекта.
Часть меня задается вопросом, Конфигурацию Flask действительно следует использовать таким образом, хотя они говорят, что вам разрешено помещать туда свои собственные переменные. Было бы достаточно просто загрузить отдельный файл конфигурации, используя обычное поведение Python.

Подробнее здесь: https://stackoverflow.com/questions/786 ... sqlalchemy
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»