Flask web开发之路九

纵饮孤独 提交于 2020-03-30 08:48:57

flask_scripts介绍

项目结构如下:

flask_script_demo.py文件:

from flask import Flask

app = Flask(__name__)


@app.route('/')
def hello_world():
    return 'Hello World!'


if __name__ == '__main__':
    app.run(debug=True)

db_scripts.py文件:

from flask_script import Manager

DBManager = Manager()

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

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

 manage.py文件:

from flask_script import Manager
from flask_script_demo import app
from db_scripts import DBManager

manager = Manager(app)

#和数据库相关的文件,都放在一起
@manager.command
def runserver():
    print('服务器跑起来了')
manager.add_command('db',DBManager)

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

在终端中操作:

### Flask-Script的介绍与安装:
1. Flask-Script:Flask-Script的作用是可以通过命令行的形式来操作Flask。例如通过命令跑一个开发版本的服务器、设置数据库,定时任务等。
2. 安装:首先进入到虚拟环境中,然后`pip install flask-script`来进行安装。
3. 如果直接在主`manage.py`中写命令,那么在终端就只需要`python manage.py command_name`就可以了。
4. 如果把一些命令集中在一个文件中,那么在终端就需要输入一个父命令,比如`python manage.py db init`。
5. 例子:
```
from flask_script import Manager
from flask_script_demo import app
from db_scripts import DBManager

manager = Manager(app)


# 和数据库相关的操作,我都放在一起

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

if __name__ == '__main__':
manager.run()
```
6. 有子命令的例子:
```
#encoding: utf-8

from flask_script import Manager

DBManager = Manager()

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

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!