zoukankan      html  css  js  c++  java
  • flask_4:Flask-Script Manager的用法

    1、flask-script的作用

    可以通过命令行的形式来操作flask。例如通过命令跑一个开发版本的服务器、设置数据库、定时任务等。

    2、flask-script的安装

    pip install flask-script
    复制代码

    3、示例代码

    新建文件manage.py,文件中的代码如下

    from flask_script import Manager
    from app.app import app
    
    manager = Manager(app)
    
    # 定义自己要执行的command
    @manager.command
    def test():
        print(u'test run')
        
    if __name__ == '__main__':
        manager.run()
    复制代码

    4、执行命令行

    执行格式:python manage.py [commond]

    # 执行示例中的test中的内容
    python manage.py test
    
    # 启动flask项目的命令
    python manage.py runserver
    复制代码

    5、引用其它文件或第三方的flask-script命令

    实际使用中,我们往往可能会遇到需要引用第三方的flask-script,如flask-migrate。或者期望将一种类型的命令放置同一个文件中统一管理,这时就涉及到如何引入这些flask-script命令的问题

    1. 引用其它文件中的flask-script

    假设我们需要创建的是一个数据库统一处理的命令集文件db_script.py,示例代码如下:

    from flask_script import Manager
    # 注意命名,不能命名成Manager,否则会有冲突
    DBManager = Manager()
    
    @DBManager.command
    def init():
        print('数据库初始化完成')
    
    @DBManager.command
    def migrate():
        print '数据表迁移成功'
    复制代码

    这是原来的manage.py文件中变更如下:

    from flask_script import Manager
    # 变更一:引入定义的命令集对象
    from db_scripts import DBManager
    from app.app import app
    
    manager = Manager(app)
    
    # 变更二:将名利集添加到manager中
    manager.add_command('db', DBManager)
    
    # 定义自己要执行的command
    @manager.command
    def test():
        print(u'test run')
        
    if __name__ == '__main__':
        manager.run()
    复制代码

    执行命令的方式有所不同:

    python manage.py db init
    python manage.py db migrate
    复制代码

    2. 引用第三方的flask-script

    和引入其它文件中的命令集的方式一样,也是需要引入对象和添加到manager中


    本文转载自:
    (1)flask 学习笔记之 Flask-Script :https://juejin.im/post/6844903617976254478
    (2)Flask-Script Manager:https://www.jianshu.com/p/8148e81b42de
  • 相关阅读:
    把git项目放到个人服务器上
    关于fcitx无法切换输入法的问题解决
    博客变迁通知
    (欧拉回路 并查集 别犯傻逼的错了) 7:欧拉回路 OpenJudge 数据结构与算法MOOC / 第七章 图 练习题(Excercise for chapter7 graphs)
    (并查集) HDU 1856 More is better
    (并查集 不太会) HDU 1272 小希的迷宫
    (并查集 注意别再犯傻逼的错了) HDU 1213 How Many Tables
    (最小生成树 Kruskal算法) 51nod 1212 无向图最小生成树
    (并查集) HDU 1232 畅通工程
    (最小生成树 Prim) HDU 1233 还是畅通工程
  • 原文地址:https://www.cnblogs.com/hailin2018/p/13574339.html
Copyright © 2011-2022 走看看