Flask-Script的使用

本文介绍了如何使用Flask-Script扩展来创建和管理Flask应用的命令行脚本,包括安装、创建和运行命令、添加参数、获取用户输入以及默认命令如runserver和shell的使用方法。
摘要由CSDN通过智能技术生成

Flask-Script扩展提供了写Flask外部脚本的支持。这包括运行开发服务器,自定义Python Shell,设置数据库的脚本,cronjobs以及Web应用程序本身以外的其他命令行任务

安装

pip install flask-script

创建和运行命令

首先,我们创建一个Python模块来运行你的脚本命令,如下manage.py:

from flask import Flask
from flask_script import Manager

app = Flask(__name__)
manager = Manager(app)

if __name__ == "__main__":
    manager.run()

下一步就是创建和添加命令,创建命令有三种方法:

  • 对Command类进行子类化
  • 使用@command装饰器
  • 使用@option装饰器

对Command类进行子类化

下面,使用Command类子类化举一个简单的栗子,如下:

from flask_script import Command

class Hello(Command):
    def run(self):
        print 'hello world'

接下来,将命令添加到我们的Manager实例当中,如下:

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

或者,你还可以将Commanddict中的实例传递给manager.run():

manager.run({"hello": Hello()})

现在,我们在命令行中输入以下命令:

# hello对应add_command方法中定义的字符串hello
root@ubuntu:~# python manage.py hello
hello world

我们还可以使用空命令来获取可用命令及其描述的列表:

root@ubuntu:~# python manage.py 
usage: manage.py [-?] {hello,shell,runserver} ...

positional arguments:
  {hello,shell,runserver}
    hello
    shell               Runs a Python shell inside Flask application context.
    runserver           Runs the Flask development server i.e. app.run()
...

我们还可以获取特定的帮助文本:

# hello对应add_command方法中定义的字符串hello
python manage.py hello -?

使用@command装饰器

下面使用@command装饰器来举个简单的栗子,如下:

@manager.command
def hello():
    print
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值