——————————————————————前言————————————————————————————
我们每次调用python hello.py shell时, 要用到app, db等对象时都要手动导入, 很繁琐枯燥, 本节我们来实现自动导入。
————————————————————————————————————————————————————
一. 修改hello.py脚本
from flask_script import Shell
def make_shell_context():
return dict(app=app, db=db, User=User, Role=Role) #返回键值对字典
manager.add_command('shell', Shell(make_context=make_shell_context))
manager是Manager的实例, 调用add_command方法的效果是, 在终端使用shell命令后会调用Shell(make_context=make_shell_context), Shell的作用就是调用make_shell_context函数得到对象字典, 然后再遍历字典导入对象。(个人见解)
二. 效果演示
我们发现, 在调用shell命令后, 我们不用手动导入便可使用这些对象了。