1、flask_script
flask_script的作用是可以通过命令行的形式来操作flask。例如通过命令跑一个开发版本的服务器、设置数据库、定时功能等。
2、安装
首先进入到项目的虚拟环境中,然后'pip install flask_script'来安装。
3、执行命令的输入方式
- 如果直接在主'manager.py'中写命令,那么就在终端就只需要输入一个父命令,比如:'python manage.py command_name'
- 如果把一些命令集中到一个文件中时,那么在终端就需要输入一个父命令,比如'python manage.py db init'。
4、例子
- 新建一个文件'db_scripts.py':(将数据库操作命令集中写到这个文件中)
from flask_script import Manager
DBManager = Manager()
@DBManager.command
def init():
print('数据库初始化完成!')
@DBManager.command
def migrate():
print('数据表迁移成功!')
- 在主文件'manager.py'中下如下代码:(第三行是将'db_scripts.py'里集中写的数据库操作命令引入到该文件中)
from flask import Flask
from flask_script import Manager
from db_scripts import DBManager
app = Flask(__name__)
manager = Manager(app)
@manager.command
def runserver():
print('服务器跑起来啦!')
manager.add_command('db',DBManager)
if __name__=='__main__':
manager.run()
5、运行
在终端,激活本项目的虚拟环境后,
- 输入:python manager.py runserver命令,运行结果是会输出:“服务器盘起来了!”(执行本文件里定义的命令)
- 输入:'python manager.py db init'命令,运行结构是会输出:'数据库初始化完成!'(执行从'db_scripts.py'里引用来的命令)
- 输入:'python manager.py db migrate'命令,运行结果会输出:'数据表迁移成功!'(执行从'db_scripts.py'里引用来的命令)
注意:'manager.py'文件的倒数第三行:'manager.add_command('db',DBManager)'中的'db'就是命令行'python manager.py db init'里出现的'db',二者保持一致。
以上笔记整理自知了课堂黄勇老师讲解的教学视频《Flask框架入门到实战开发》的第三章第10小节内容,不足之处,望不吝赐教!