[flask初学问题]RuntimeError: No application found. Either work inside a view function or push an applica

追风赶月莫停留,平芜尽处是春山。这篇文章主要讲述[flask初学问题]RuntimeError: No application found. Either work inside a view function or push an applica相关的知识,希望能为你提供帮助。
看B站视频学习flask-SQLalchemy时,报错RuntimeError: No application found. Either work inside a view function or push an application context. See http://flask-sqlalchemy.pocoo.org/contexts/
视频链接是https://bilibili.com/video/av19817183?p=20
P20 04-03数据库的基本操作1-增删改
位置3分17左右
以下是视频中说到的代码:

1 from flask import Flask 2 from flask_sqlalchemy import SQLAlchemy 3 4 app = Flask(__name__) 5 #配置数据库的地址 6 app.config[‘SQLALCHEMY_DATABASE_URI‘] = ‘mysql://root:emperor12@127.0.0.1/flask_sql_demo‘ 7 #跟踪数据库的修改 --> 不建议开启,未来的版本中会删除 8 app.config[‘SQLALCHEMY_TRACK_MODIFICATIONS‘] = False 9 db = SQLAlchemy() 10 11 # 数据库的模型,需要继承db.Model 12 class Role(db.Model): 13# 定义表名 14__tablename__ = ‘roles‘ 15# 定义字段 16id = db.Column(db.Integer,primary_key=True) 17name = db.Column(db.String(16),unique=True) 18 class Users(db.Model): 19__tablename__ = ‘users‘ 20id = db.Column(db.Integer,primary_key = True) 21name = db.Column(db.String(16),unique=True) 22# db.ForeignKey(‘roles.id‘) 表示是外键。表名.id 23role_id = db.Column(db.Integer, db.ForeignKey(‘roles.id‘)) 24 25 @app.route(‘/‘) 26 def hello_world(): 27return ‘Hello World!‘ 28 29 if __name__ == ‘__main__‘: 30# 删除表 31db.drop_all() 32# 创建表 33db.create_all() 34app.run(debug = True)

 
按照视频弹幕的指引,先是在第一行import pymysql,但是不知道为什么显示是灰色的
然后pip install mysql-connector
或者是在cmd中net start mysql57
还是按照pycharm提示中https://flask-sqlalchemy.palletsprojects.com/en/2.x/contexts/中说的
def create_app(): app = Flask(__name__) db.init_app(app) return app

都没有效果
最后看了https://blog.csdn.net/zhongqiushen/article/details/79162792
在第9行把
db = SQLAlchemy()改为db = SQLAlchemy(app)

【[flask初学问题]RuntimeError: No application found. Either work inside a view function or push an applica】就可以了,我也没有明白为什么

    推荐阅读