Я создал небольшое приложение 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