Flask-Script

介绍及安装

Flask-Script是一个让你的命令行支持自定义命令的工具,它为Flask程序添加一个命令行解释器。可以让我们的程序从命令行直接执行相应的程序。
安装

pip install Flask-Script

用于在终端启动项目

from flask import Flask
from flask_script import Manager

app = Flask(__name__)
manager = Manager(app)

if __name__ == '__main__':
    manager.run()

启动项目

python manage.py runserver -h 0.0.0.0 -p 8888

用于在终端启动应用中脚本

1.使用Command 类

from flask_script import Manager

app = Flask(__name__)
# configure your app

manager = Manager(app)

from flask_script import Command

class Hello(Command):
    "prints hello world"

    def run(self):
        print("hello world")
# 将命令添加到我们的Manager实例中,就像上面创建的一样:        
manager.add_command('hello', Hello())

if __name__ == "__main__":
    manager.run()

执行命令

python manage.py hello

可以将Command以字典的形式将实例传递给manager.run()

manager.run({'hello' : Hello()})

执行命令

python manage.py

2.使用@command装饰器

from flask import Flask
from flask_script import Manager

app = Flask(__name__)
# configure your app
manager = Manager(app)

@manager.command
def hello():
    "Just say hello"
    print("hello")
if __name__ == "__main__":
    manager.run()

执行命令

python manage.py hello

3.使用@option装饰器

from flask_script import Manager
from app.models import User
from app import db,create_app

myapp = create_app()

manager = Manager(myapp)

@manager.option('-u', '--username', help="指定用户名")
def add_user(username):
    """添加用户, 指定用户名和密码"""
    if username:
        u = User(name=username)
        db.session.add(u)
        db.session.commit()
        return  "添加用户%s成功" %(u.name)
    else:
        return  "请指定用户"

if __name__ == "__main__":
    manager.run()

执行命令

python manage.py add_user -u xiaoqi
添加用户xiaoqi成功

可以提前写好一些命令,可通过命令行快速执行操作。比如上面的创建用户操作。

官方文档:https://flask-script.readthedocs.io/en/latest/

原文地址:https://www.cnblogs.com/liuweida/p/11697842.html