flask系列五之flask_script

2019-04-08 10:46:25 浏览数 (1)

1.一个简单的例子

在工程里面新建一个Python文件命名为manage.py

        (1)安装flask_script包,然后引入

代码语言:javascript复制
from flask_script import Manager
from main import app

manager = Manager(app)

@manager.command
def runserver():
    print '服务器跑起来了!!!'

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

在命令行里面输入:

代码语言:javascript复制
python manage.py runserver

2.Flask-Script的manage分为主manage文件和分manage文件

主manage文件

manage.py:

代码语言:javascript复制
from flask_script import Manager
from main import app
from db_manage import DBManager

manager = Manager(app)

@manager.command
def runserver():
    print '服务器跑起来了!!!'

# 引入其他分manage的命令
manager.add_command('db',DBManager) # 这里的‘db’在命令行操作时,是有用的

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

分manage文件(数据库manage或其他分类)

db_manage.py

代码语言:javascript复制
from flask_script import Manager

DBManager = Manager()

@DBManager.command
def init():
    print '数据库初始化完成'

@DBManager.command
def migrate():
    print '数据表迁移成功'

在命令行下:

(1)初始化文件

代码语言:javascript复制
python manage.py db init

(2)生成迁移文件

代码语言:javascript复制
python manage.py db migrate

(3)扩展:将迁移文件映射到数据库

代码语言:javascript复制
python manage.py db upgrade----映射到数据库

若是第一次生成则需要按顺序执行上述(1)-(2)-(3)步骤

若只是增加字段,只需在model中添加字段然后按顺序执行上述的(2)--(3)命令即可更新数据库的字段。

还有注意要需要将model映射到数据库,需要把具体的类引入到manage.py中,然后才执行命令。例如需要将User映射到数据库,代码如下:

代码语言:javascript复制
from models import User

然后执行上述的(1)-(2)-(3)命令。

0 人点赞