Flask-Scropt插件:为在Flask里编写额外的脚本提供了支持。这包括运行一个开发服务器,一个定制的Python命令行,用于执行初始化数据库、定时任务和其他属于web应用之外的命令行任务的脚本。

一. 使用 Flask-Script 支持命令行选项

1.安装

1
$ pip install flask-script

2.创建并运行命令行

第一步需要创建一个可以运行你脚本命令的Python模块。你可以随意命名它。我这里就以manage.py为例。

 在manage.py文件中,需要先创建一个Manager实例。Manager类会跟踪所有的命令和命令行调用的参数:

1
2
3
4
5
6
7
8
9
from flask_script import Manager
 
app = Flask(__name__)
# configure your app
 
manager = Manager(app)
 
if __name__ == "__main__":
    manager.run()

二. 添加自定义命令

创建自定义命令的三种方式:

  • 定义Command类的子类
  • 使用@command装饰器
  • 使用@option装饰器

(1) 定义Command类的子类

为了简单,我们就创建一个hello命令来输出“hello world”:

1
2
3
4
5
6
7
from flask_script import Command
 
class Hello(Command):
    "prints hello world"
 
    def run(self):
        print "hello world"

 接下来需要把命令添加到Mannager实例:

1
manager.add_command('hello', Hello())

 

from flask_script import Manager,Command
from flask import Flask
app = Flask(__name__)

manager = Manager(app)

class hello(Command):
    "prints hello world"
    def run(self):
        print("hello world")

manager.add_command('hello', hello())

if __name__ == "__main__":
    manager.run()
完整代码如下

相关文章:

猜你喜欢
  • 2021-11-23
  • 2021-10-28
  • 2022-12-23
  • 2021-06-11
相关资源
相似解决方案