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
希望你眼眸有星辰,心中有山海,从此以梦为马,不负韶华
原文地址:https://www.cnblogs.com/daviddd/p/11948886.html