Flask-SQLAlchemy的扩展之Flask-Script的使用

1.Flask-Script:

pip install Flask-Script

 

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

我们可以通过python manage.py runserver –h 0.0.0.0 -p 8081 向django一样启动flask服务,告诉服务器在哪个网络接口监听来自客户端的连接。

from flask import Flask

app = Flask(__name__)

"""使用flask-script启动项目"""
from flask_script import Manager
manager = Manager(app)

@app.route('/')
def index():
    return 'hello world'

if  __name__ == "__main__"
  #app.run()替换了
manager.run()

 

.高级操作 - 自定制脚本命令

5.1.方式一 : @manager.command

import MyApp
# 导入 Flask-Script 中的 Manager
from flask_script import Manager

app = MyApp.create_app()
# 让app支持 Manager
manager = Manager(app) # type:Manager

@manager.command
def DragonFire(arg):
print(arg)

if __name__ == '__main__':
#app.run()
# 替换原有的app.run(),然后大功告成了
manager.run()

MyApp/manager.py

python manager.py DragonFire 666

 

5.2.方式二 : @manager.opation("-短指令","--长指令",dest="变量名")

import MyApp
# 导入 Flask-Script 中的 Manager
from flask_script import Manager

app = MyApp.create_app()
# 让app支持 Manager
manager = Manager(app) # type:Manager

@manager.command
def DragonFire(arg):
    print(arg)

@manager.option("-n","--name",dest="name")
@manager.option("-s","--say",dest="say")
def talk(name,say):
    print(f"{name}你可真{say}")

if __name__ == '__main__':
    #app.run()
    # 替换原有的app.run(),然后大功告成了
    manager.run()

MyApp/manager.py

 

python manager.py talk -n 赵丽颖 -s 漂亮
python manager.py talk --name DragonFire --say NB-Class
posted @ 2020-03-26 10:08  y0um  阅读(202)  评论(0)    收藏  举报

新人优惠服务器