Flask-Script

Flask Script扩展提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定制的Python shell,设置数据库的脚本,cronjobs,及其他运行在web应用之外的命令行任务;使得脚本和系统分开;

Flask Script和Flask本身的工作方式类似,只需定义和添加从命令行中被Manager实例调用的命令;

flask-script的作用是可以通过命令行的形式来操作Flask

pip install Flask-Script

将Flask_Script加入Flask项目中

# 编写文件 manager.py

import MyApp
from flask_script import Manager  

app = MyApp.create_app()
# 让app支持 Manager
manager = Manager(app)  
  
if __name__ == '__main__':  
    # 替换原有的app.run()
    manager.run()

执行命令

1. 使用命令启动Flask项目
python manager.py runserver

2. 启动项目并更改配置参数 (监听IP地址, 监听端口)
python manager.py runserver -h 0.0.0.0 -p 9527

自制定脚本命令

@manager.command

1. 编写文件

import MyApp
from flask_script import Manager  

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

@manager.command  
def func(*arg):  
    print(arg)  
  
if __name__ == '__main__':  
    # 替换原有的app.run()
    manager.run()
    
2. 执行命令
python manager.py func jason

@manager.opation

1. 编写文件, 参数可以随意指定

import MyApp
from flask_script import Manager  

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

# 命令既可以用-n,也可以用--name,dest="name" 用户输入的命令的名字作为参数传给了函数中的name
@manager.option('-n', '--name', dest='name', help='Your name', default='world')    

# 命令既可以用-u,也可以用--url,dest="url" 用户输入的命令的url作为参数传给了函数中的url
@manager.option('-u', '--url', dest='url', default='www.xxx.com')  


@manager.command  
def func(name, url):  
    print(name)  
    print(url)
  
if __name__ == '__main__':  
    # 替换原有的app.run()
    manager.run()
    
2. 运行命令
python manager.py talk -n jason -u www.xxx.com
python manager.py talk --name jason --url www.xxx.com
posted @ 2019-07-08 15:24  言值  阅读(143)  评论(0编辑  收藏  举报