加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

flask-sqlalchemy – 在错误的Flask中使用SQLAlchemy,没有这样的

发布时间:2020-12-20 12:05:58 所属栏目:Python 来源:网络整理
导读:run.py if __name__ == '__main__': config() app.run() main.py import databaseapp = Flask(__name__)def config(): app.config.from_object('config.DevConfig') # Run SQLAlchemy _that uses app.config_ and add entities if in DEBUG mode database.in
run.py

if __name__ == '__main__':
    config() 
    app.run()

main.py

import database

app = Flask(__name__)

def config():
    app.config.from_object('config.DevConfig')

    # Run SQLAlchemy _that uses app.config_ and add entities if in DEBUG mode
    database.init_db(app)

    import blueprints.auth
    app.register_blueprint(blueprints.auth.auth)

database.py

db = None

def init_db(app):
    global db
    db = SQLAlchemy(app)

    from models import User,Interest,Event

    if app.config['DEBUG']:
        print 'Recreating all db'
        db.create_all() # I DO create everything
        print 'Loading test data'
        ... (here I add some Users and etc. and everything works fine - tests pass)

models.py

from database import db

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

蓝图/ auth.py

from models import User

auth = Blueprint('auth',__name__)

@auth.route('/')
def index():
    return str(User.query.get(1).interests)

所以我明白了

OperationalError: (OperationalError) no such table: user u'SELECT user.id AS user_id,user.username AS user_username,user.email AS user_email,user.passhash AS user_passhash,user.vk_page AS user_vk_page nFROM user nWHERE user.id = ?' (1,)

我究竟做错了什么?

解决方法

为了让一切顺利,我不得不改变一些事情.

>在config中用SQLALCHEMY_DATABASE_URI参数替换DATABASE_URI
> replace:memory:带/tmp/test.db的sqlite地址

现在它工作正常.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读