flask_script笔记:
Flask-Script的作用是可以通过命令行的形式来操作Flask。例如通过命令跑一个开发版本的服务器、设置数据库,定时任务等。要使用Flask-Script,可以通过pip install flask-script
安装最新版本。
命令的添加方式:
-
使用
manage.commad
:这个方法是用来添加那些不需要传递参数的命令。示例代码如下:manager = Manager(app) manager.add_command("db",db_manager) @manager.command def greet(): print('你好')
-
使用manage.option
:这个方法是用来添加那些需要传递参数的命令。有几个参数就需要写几个option
。示例代码如下:@manager.option("-u","--username",dest="username") @manager.option("-e","--email",dest="email") def add_user(username,email): user = BackendUser(username=username,email=email) db.session.add(user) db.session.commit()
-
如果有一些命令是针对某个功能的。比如有一堆命令是针对ORM与表映射的,那么可以将这些命令单独放在一个文件中方便管理。也是使用
Manager
的对象来添加。然后到主manage文件中,通过manager.add_command
来添加。示例代码如下:
db_script.py
from flask_script import Manager
db_manager = Manager()
@db_manager.command
def init():
print('迁移仓库创建完毕!')
@db_manager.command
def revision():
print('迁移脚本生成成功!')
@db_manager.command
def upgrade():
print('脚本映射到数据库成功!')
manage.py
from db_script import db_manager
manager = Manager(app)
manager.add_command("db",db_manager)