flask-script
我们启动flask项目可以通过执行程序app.run()来启动,而flask_script可以帮助我们通过脚本命令的形式启动项目。
不过要注意,flask_script是第三方模块,flask兼容版本需要注意,可以按照以下的版本对应:
Flask==2.2.2
Flask_Script==2.0.3
基本使用
## manage.py中
from flask_script import Manager
# 用Manager包裹一下app
manager=Manager(app)
manager.run()
# 在终端中使用命令启动
python manage.py runserver
上述代码是对启动项目命令的基本使用,我们还可以自定制命令。
自定义命令
简单自定制命令
@manager.command
def custom(arg):
print(arg)
# 使用自定制命令
python manage.py custom
python manage.py custom xxx # 可以传入参数
自定制命令可以应用开机自启的一些任务,比如说,每次启动项目,我们想将celery的worker和beat也顺带启动,那么就可以在这里进行。
ps:这里简单补充一下:启动worker、beat使用命令行的形式启动的,那么我们可以用subprocess模块去执行
复杂自定制命令
@manager.option('-n', '--name', dest='name')
@manager.option('-u', '--url', dest='url')
def cmd(name, url):
print(name, url)
# 使用复杂自定制命令
python manage.py cmd -n leethon -u xxx
python manage.py cmd --name leethon --url uuu
manager.option('-n', '--name', dest='name')
传入的参数分别代表(短关键字、长关键字、反正就是各种关键字、dest='对应形参名')