flask_4:Flask-Script Manager的用法


1、flask-script的作用

可以通过命令行的形式来操作flask。例如通过命令跑一个开发版本的服务器、设置数据库、定时任务等。

2、flask-script的安装

pip install flask-script
复制代码

3、示例代码

新建文件manage.py,文件中的代码如下

from flask_script import Manager
from app.app import app

manager = Manager(app)

# 定义自己要执行的command @manager.command def test(): print(u'test run') if __name__ == '__main__': manager.run() 复制代码

4、执行命令行

执行格式:python manage.py [commond]

# 执行示例中的test中的内容 python manage.py test # 启动flask项目的命令 python manage.py runserver 复制代码

5、引用其它文件或第三方的flask-script命令

实际使用中,我们往往可能会遇到需要引用第三方的flask-script,如flask-migrate。或者期望将一种类型的命令放置同一个文件中统一管理,这时就涉及到如何引入这些flask-script命令的问题

1. 引用其它文件中的flask-script

假设我们需要创建的是一个数据库统一处理的命令集文件db_script.py,示例代码如下:

from flask_script import Manager
# 注意命名,不能命名成Manager,否则会有冲突 DBManager = Manager() @DBManager.command def init(): print('数据库初始化完成') @DBManager.command def migrate(): print '数据表迁移成功' 复制代码

这是原来的manage.py文件中变更如下:

from flask_script import Manager
# 变更一:引入定义的命令集对象 from db_scripts import DBManager from app.app import app manager = Manager(app) # 变更二:将名利集添加到manager中 manager.add_command('db', DBManager) # 定义自己要执行的command @manager.command def test(): print(u'test run') if __name__ == '__main__': manager.run() 复制代码

执行命令的方式有所不同:

python manage.py db init
python manage.py db migrate
复制代码

2. 引用第三方的flask-script

和引入其它文件中的命令集的方式一样,也是需要引入对象和添加到manager中


本文转载自:
(1)flask 学习笔记之 Flask-Script :https://juejin.im/post/6844903617976254478
(2)Flask-Script Manager:https://www.jianshu.com/p/8148e81b42de


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM