Flask-Script
Flask-Script 从字面意思上来看就是 Flask 的脚本
是的,熟悉Django的同学是否还记得Django的启动命令呢? python manage.py runserver
其实Flask也可以做到,基于 Flask-Script 就可以了
一、安装 Flask-Script
pip3 install Flask-Script
二、将 Flask-Script 加入到 Flask 项目中
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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()
三、使用命令启动 Flask 项目
python manage.py runserver
四、启动项目并更改配置参数(监听IP地址,监听端口)
python manage.py runserver -h 0.0.0.0 -p 9527
五、高级操作 - 自定制脚本命令
方式一 : @manager.command
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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()
python manage.py runflask 666
方式二 : @manager.opation("-短指令","--长指令",dest="变量名")
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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()
python manage.py open_flask -h 0.0.0.0 -p 9527