Flask-Script模块
Posted daviddd
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask-Script模块相关的知识,希望对你有一定的参考价值。
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:pythonflaskabc>python3 manage.py db init
初始化
F:pythonflaskabc>python3 manage.py db migrate
数据迁移
F:pythonflaskabc>python3 manage.py runserver
it's running
以上是关于Flask-Script模块的主要内容,如果未能解决你的问题,请参考以下文章