Доступ к базе данных Flask -SQLAlchemy вне функций просмотра - PullRequest
0 голосов
/ 02 апреля 2020

Я создал небольшое приложение Flask, которое сохраняет свои данные в базе данных sqlite, к которой я получаю доступ через flask -sqlalchemy.

Однако при запуске я получаю следующую ошибку: RuntimeError: No application found. Either work inside a view function or push an application context. See http://flask-sqlalchemy.pocoo.org/contexts/.

Я отладил свое приложение и теперь знаю, что эта ошибка связана с этими двумя функциями: `` `def user_exists (email): if User.query.filter_by (email = email) .count () = = 0: вернуть False, иначе: вернуть True

def get_user (email): user = User.query.filter_by (email = email) .first () return user```

Теперь я мне интересно: невозможно ли получить доступ к базе данных через flask -sqlalchemy вне функций просмотра?

Для дальнейшего контекста я добавил файлы, в которых я настраиваю свое приложение flask:

presentationtio.py

from app import create_app

app = create_app(os.getenv("FLASK_CONFIG", "default"))

app / init .py

from flask_mail import Mail
from flask_sqlalchemy import SQLAlchemy
from config import config

mail = Mail()
db = SQLAlchemy()


def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])
    config[config_name].init_app(app)

    mail.init_app(app)
    db.init_app(app)

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

    from .auth import auth as auth_blueprint
    app.register_blueprint(auth_blueprint, url_prefix = "/auth")

    from .text import text as text_blueprint
    app.register_blueprint(text_blueprint, url_prefix = "/text")

    return app

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...