V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
linuxs
V2EX  ›  Flask

flask 批量导入数据的时候出现错误? 求指教!

  •  
  •   linuxs · Oct 26, 2017 · 3316 views
    This topic created in 3111 days ago, the information mentioned may be changed or developed.
    批量添加数据报错:RuntimeError: application not registered on db instance and no application bound to current context

    from app import create_app,db
    from flask_script import Manager, Shell
    from flask_migrate import Migrate, MigrateCommand
    from script.hosts import hostinfo
    from app.models import Hosts


    app = create_app('default')
    manager = Manager(app)
    migrate = Migrate(app, db)



    def make_shell_context():
    return dict(app=app, db=db, Hosts=Hosts,)

    manager.add_command("shell", Shell(make_context=make_shell_context))
    manager.add_command('db', MigrateCommand)


    hostinfo = hostinfo()
    for i in hostinfo.get_host():
    for info in i:
    info = Hosts(netip=info['PublicIpAddress']['IpAddress'][0],
    name=info['InstanceName'],
    area=info['RegionId'],
    osname=info['OSName'],
    host_config='CPU:%s Mem:%s intout:%s' % (info['Cpu'],info['Memory'],info['InternetMaxBandwidthOut']))
    db.session.add(info)
    db.session.commit()


    if __name__ == '__main__':
    manager.run()
    2 replies    2017-10-27 07:45:22 +08:00
    linuxs
        1
    linuxs  
    OP
       Oct 26, 2017
    hostinfo = hostinfo()
    for i in hostinfo.get_host():
    for info in i:
    info = Hosts(netip=info['PublicIpAddress']['IpAddress'][0],
    name=info['InstanceName'],
    area=info['RegionId'],
    osname=info['OSName'],
    host_config='CPU:%s Mem:%s intout:%s' % (info['Cpu'],info['Memory'],info['InternetMaxBandwidthOut']))
    db.session.add(info)
    db.session.commit() 这段是添加数据的代码
    akiakiseofficial
        2
    akiakiseofficial  
       Oct 27, 2017 via Android
    按你这样的写法,在 manager.run() 之前就尝试向数据库添加数据。报 no application bound to current context 大概也是这个原因。

    试试看把批量添加数据的操作写成一个命令。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2284 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 15:55 · PVG 23:55 · LAX 08:55 · JFK 11:55
    ♥ Do have faith in what you're doing.