【问题标题】:No application found with flask sqlalchemy找不到使用烧瓶 sqlalchemy 的应用程序
【发布时间】:2017-12-06 12:43:05
【问题描述】:

我是 Flask 的新手,我正在尝试使用 python 连接本地 postgre 数据库。

我的代码如下:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://postgres:postgres@localhost/flaskmovie'
db = SQLAlchemy(app)


class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)

    def __repr__(self):
        return '<User %r>' % self.username

@app.route('/')
def index():
    return "Hello Flask"


if __name__ == "__main__":
    app.run()

我得到的错误是:

'No application found. Either work inside a view function or push'
RuntimeError: No application found. Either work inside a view function or push an application context. See http://flask-sqlalchemy.pocoo.org/contexts/.

我已阅读文档并尝试了不同的选项,例如:

def create_app():
    app = Flask(__name__)
    db.init_app(app)
    return app

并在 python shell 中运行以下代码:

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

但我仍然遇到同样的错误。

有什么提示吗?

【问题讨论】:

    标签: python postgresql flask flask-sqlalchemy


    【解决方案1】:

    尝试以下方法:

    with app.app_context():
        db.init_app(app)
    

    更多信息请参见here

    【讨论】:

    • 我试过了,以及链接中的其他选项。仍然得到同样的错误。不知道是不是数据库有问题。 :S
    猜你喜欢
    • 2016-04-12
    • 2013-09-01
    • 1970-01-01
    • 2014-11-17
    • 1970-01-01
    • 1970-01-01
    • 2020-05-05
    • 1970-01-01
    • 2021-12-25
    相关资源
    最近更新 更多