flask-script

发布时间 2023-04-07 20:42:02作者: leethon

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='对应形参名')