码迷,mamicode.com
首页 > 移动开发 > 详细

[flask初学问题]RuntimeError: No application found. Either work inside a view function or push an application context. See http://flask-sqlalchemy.pocoo.org/contexts/

时间:2019-10-31 18:10:44      阅读:490      评论:0      收藏:0      [点我收藏+]

标签:sdn   表示   com   string   sid   问题   model   The   删除表   

看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     # 定义字段
16     id = db.Column(db.Integer,primary_key=True)
17     name = db.Column(db.String(16),unique=True)
18 class Users(db.Model):
19     __tablename__ = users
20     id = db.Column(db.Integer,primary_key = True)
21     name = db.Column(db.String(16),unique=True)
22     # db.ForeignKey(‘roles.id‘) 表示是外键。表名.id
23     role_id = db.Column(db.Integer, db.ForeignKey(roles.id))
24 
25 @app.route(/)
26 def hello_world():
27     return Hello World!
28 
29 if __name__ == __main__:
30     # 删除表
31     db.drop_all()
32     # 创建表
33     db.create_all()
34     app.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 application context. See http://flask-sqlalchemy.pocoo.org/contexts/

标签:sdn   表示   com   string   sid   问题   model   The   删除表   

原文地址:https://www.cnblogs.com/stenci/p/11772507.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!