Flask web模板七–脚本Flask-Script

有时需要通过命令行来执行一些python脚本,这些脚本又使用到了项目中的类,比如数据库的调用,通过Flask-Script可以实现在脚本中直接使用定义好的类,而不需要经过视图函数来完成调用。

1、安装并初始化插件
pip install Flask-Script

2、在app目录下创建scripts目录用来专门存放脚本文件 ,创建一个test.py内如下

# -*- coding:utf-8 -*-
from app.models.user import User


def get_user():
    users = User.query.all()
    for user in users:
        print("昵称:%s, 邮箱:%s, 电话:%s" % (user.nickname, user.email, user.phone_number))

3、在项目根目录下创建manager.py该文件和run.py在同一级目录这个文件可以用来启动项目,用于正式环境中使用,内容如下

# -*- coding:utf-8 -*-


# 从app这个包引入app对象
from app import create_app
from flask_script import Manager
from app.scripts.test import get_user
app = create_app()


manager = Manager(app)

# 定一个脚本函数test,这个test名称是用来执行脚本时调用的名称
@manager.command
def test():
    get_user()


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

4、执行脚本
在终端下切换到项目根目录

python manager.py test

启动项目

python manager.py runserver  -h 0.0.0.0 -p 80

 

发表评论