1、Flask-Script介绍
Flask-Script的作用是可以通过命令行的形式来操作Flask。
Flask Script扩展提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定制的Python shell,设
置数据库的脚本,cronjobs,及其他运行在web应用之外的命令行任务;使得脚本和系统分开;
pip install flask-script 安装
2、Flask-Script基本使用
在一个在flask项目中,新建一个新的test_command.py,其中的test_command功能函数我们希望通过命令来运行
from flask_script import Manager from shopping.main import app # 第一步:初始化 manager = Manager(app) # 第二步:通过命令执行 @manager.command def hello(): print('命令执行成功') if __name__ == '__main__': # 第三步:启动 manager.run()
在命令中执行

3.Flask-Script案例
需求:通过命令直接在数据库中创建一个用户
建立:数据库连接配置config.py文件
HOSTNAME = '127.0.0.1' PORT = '3306' DATABASE = 'test2' USERNAME = 'root' PASSWORD = 'root' DB_URI = 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8mb4'.format(USERNAME, PASSWORD, HOSTNAME, PORT, DATABASE) SQLALCHEMY_DATABASE_URI = DB_URI SQLALCHEMY_TRACK_MODIFICATIONS = False
主程序app.py
from flask_script import Manager import app #此处是导入从已经建立好的app对象文件 from flask_sqlalchemy import SQLAlchemy import config #导入配置文件config.py app.config.from_object(config) db = SQLAlchemy(app) manager = Manager(app) class User(db.Model): __tablename__ = 't_user' id = db.Column(db.Integer, primary_key=True, autoincrement=True) uname = db.Column(db.String(50), nullable=False) pwd = db.Column(db.String(50), nullable=False) @manager.option('-u', '--username', dest='uname') @manager.option('-p', '--password', dest='pwd') def create_user(uname, pwd): user = User(uname=uname, pwd=pwd) db.session.add(user) db.session.commit()
print('添加成功') if __name__ == '__main__': manager.run()
在命令中执行

浙公网安备 33010602011771号