码迷,mamicode.com
首页 > 其他好文 > 详细

Flask-Script模块

时间:2019-11-28 13:26:37      阅读:60      评论:0      收藏:0      [点我收藏+]

标签:分离   def   服务器   add   这一   pre   server   注意   import   

Flask-Script

学过Django的同学应该知道在Django里面是通过python manage.py runserver这一系列的指令来完成对服务器的启动执行的,Flask-script
就是仿照这一点来生成的,
同样需要建立一个manage.py,在里面进行命令初始化

安装

pip install flask-script

使用

1. 需要创建manage.py文件

2. 首先要引入当前的app(只是个名字,从主执行文件调用),然后传入给Manager对象,
   在建立命令函数时,注意上方有添加一个@manager.command的修饰器,
   最后在主函数里执行即可
   
3. 实例:
        '''
        from flask_script import Manager
        from app import app

        manager = Manager(app)

        @manager.command
        def runserver():
            print("it's running")


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

命令分离

如果存在命令分离,比如将某一类的功能模块命令单独开,则在执行时需要先在主文件里面引入,然后在终端先执行父命令再执行子命令

1.创建一个db_script.py去操作数据库

这里新建一个db_script.py来处理数据库方面的指令,因为最后会在主文件中调用执行,
所以这里不用传入app名字,直接生成Manager()对象即可

from flask_script import Manager

DBManager = Manager()


@DBManager.command
def init():
    print("初始化")


@DBManager.command
def migrate():
    print("数据迁移")
    

2.manage.py文件中引入DBManager

在主文件里首先引入了刚才新建立的DBManager对象,然后用add_command方法建立新的执行命令并设定名字(这里是db)


from flask_script import Manager
from app import app
from db_script import DBManager

manager = Manager(app)


@manager.command
def runserver():
    print("it's running")


manager.add_command('db', DBManager)

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

3.执行

F:\python\flask\abc>python3 manage.py db init
初始化

F:\python\flask\abc>python3 manage.py db migrate
数据迁移

F:\python\flask\abc>python3 manage.py runserver
it's running

Flask-Script模块

标签:分离   def   服务器   add   这一   pre   server   注意   import   

原文地址:https://www.cnblogs.com/daviddd/p/11948886.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!