Flask-Script

Flask-Script 从字面意思上来看就是 Flask 的脚本

是的,熟悉Django的同学是否还记得Django的启动命令呢? python manage.py runserver

其实Flask也可以做到,基于 Flask-Script 就可以了

一、安装 Flask-Script

pip3 install Flask-Script

二、将 Flask-Script 加入到 Flask 项目中

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

my_app = create_app()
 # 让app支持 Manager
manager = Manager(my_app)


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

 三、使用命令启动 Flask 项目

python manage.py runserver

四、启动项目并更改配置参数(监听IP地址,监听端口)

python manage.py runserver -h 0.0.0.0 -p 9527

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

方式一 : @manager.command

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

my_app = create_app()
# 让app支持 Manager
manager = Manager(my_app)

@manager.command
def runflask(arg):
    return arg

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

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

from app import create_app
from flask_script import Manager

my_app = create_app()
manager = Manager(my_app)

@manager.command
def runflask():
    return "chenggong"

@manager.option("-h","--host",dest="host")       #python manage.py runserver -h 0.0.0.0 -p 5000
@manager.option("-p","--port",dest="port")
def open_flask(host,port):
    a = input("真的要启动吗?")
    if a == "y":
        if not host:
            host = "127.0.0.1"
        if not port:
            port = 5000
        my_app.run(host,int(port))
    else:
        return f"{host}真{port}"

if __name__ == '__main__':

    manager.run()
manage.py
python manage.py open_flask -h 0.0.0.0 -p 9527

 

posted @ 2019-02-18 11:08  中杯可乐不加冰  阅读(154)  评论(0编辑  收藏  举报