RuntimeError:找不到应用程序。在视图函数内部工作或推送应用程序上下文

时间:2020-04-14 16:37:33

标签: python flask sqlalchemy dbcontext blueprint

我用蓝图划分了Programm,但是现在使用数据库的某些功能无法正常工作。使用以下代码行:

app = create_app()
ctx = app.app_context()
ctx.push()

我能够修复email.py,但是如果我运行该程序,则会收到两次警报,我认为这不应该是这样的:

C:\Users\Lukas\PycharmProjects\Preistracker\venv\lib\site-packages\flask_sqlalchemy\__init__.py:834: FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future.  Set it to True or False to suppress this warning.
  warnings.warn(FSADeprecationWarning(
C:\Users\Lukas\PycharmProjects\Preistracker\venv\lib\site-packages\flask_sqlalchemy\__init__.py:834: FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future.  Set it to True or False to suppress this warning.
  warnings.warn(FSADeprecationWarning(

初始化 .py

db = SQLAlchemy()
bcrypt = Bcrypt()
login_manager = LoginManager()
login_manager.login_view = 'users.login'
login_manager.login_message_category = 'info'
mail = Mail()




def create_app(config_class=Config):
    app = Flask(__name__)
    app.config.from_object(Config)

    db.init_app(app)
    bcrypt.init_app(app)
    login_manager.init_app(app)
    mail.init_app(app)


    from main.users.routes import users
    from main.articles.routes import articles
    from main.main.routes import main
    from main.scrapping.email import email
    app.register_blueprint(users)
    app.register_blueprint(articles)
    app.register_blueprint(main)
    app.register_blueprint(email)





    return app

email.py

....
from main import db, create_app
from flask import Blueprint

email = Blueprint('email', __name__)



app = create_app()
ctx = app.app_context()
ctx.push()


def check_price():
    articles = Article.query.all()
    ....

0 个答案:

没有答案