Flask web开发之路九

时间:2021-10-24 15:50:32

flask_scripts介绍

项目结构如下:

Flask web开发之路九

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 web开发之路九

### 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 '数据表迁移成功'
```