Flask-script

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中

posted @ 2022-05-27 23:38  hai起奈  阅读(229)  评论(0编辑  收藏  举报