flask_script

flask_script

 

1.      flask_script

doc: https://flask-script.readthedocs.io/en/latest/

 

The Flask-Script extension provides support for writing external scripts in Flask. This includes running a development server, a customised Python shell, scripts to set up your database, cronjobs, and other command-line tasks that belong outside the web application itself.

flask-script扩展提供了在flask上添加执行外围脚本的功能,包括运行开发服务器、定制命令、创建数据库、定时任务、或者其它命令行任务,上述内容均独立于flask应用本身。

Flask-Script works in a similar way to Flask itself. You define and add commands that can be called from the command line to a Manager instance:

换句话说它提供了一个包装,可以自定义命令,在命令行中调用Manager实例。

 

1.1.    install/uninstall

pip install flask_script

pip uninstall flask_script

 

1.2.    添加命令

常用的有两种方式,装饰器,子类:

# 装饰器添加命令

@manager.command

def hello_1():

    print('hello 1')

 

# 类方式添加命令

from flask_script import Command

class hello_2(Command):

    "prints hello world"

 

    def run(self):

        print("hello 2")

 

manager.add_command('hello_2', hello_2)

 

其实还有一种option方式,用于复杂命令,有需要再看,这里不再赘述。

 

1.3.    案例

from app import create_app

import flask_migrate

from flask_script import Manager

 

 

app = create_app()

manager = Manager(app)

 

# 装饰器添加命令

@manager.command

def hello_1():

    print('hello 1')

 

# 类方式添加命令

from flask_script import Command

class hello_2(Command):

    "prints hello world"

 

    def run(self):

        print("hello 2")

 

manager.add_command('hello_2', hello_2)

 

if __name__ == '__main__':

    manager.run()

   

结果释义:

执行命令

python manage.py hello_1 # hello_1 运行正常

python manage.py hello_2 # hello_2 运行正常

python manage.py hello_3 # manage.py: error: invalid choice:  运行异常,因为命令未声明

 

posted @ 2019-08-30 20:59  木林森__𣛧  阅读(150)  评论(0编辑  收藏  举报