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()

在命令中执行

最新文章

  1. html5上传图片
  2. Hibernate逍遥游记-第12章 映射值类型集合-001映射set(<element>)
  3. BZOJ2073: [POI2004]PRZ
  4. FCLK PCLK HCLK
  5. QF——UI之UIViewController
  6. 基于visual Studio2013解决C语言竞赛题之0705矩阵转置
  7. 14.3.2.1 Transaction Isolation Levels 事务隔离级别
  8. CodeForces 158DIce Sculptures(枚举)
  9. 在servlet中使用@Autowired注解无法注入实例的问题
  10. Failed to get D-Bus connection: Operation not permitted解决
  11. bzoj1814 Ural 1519 Formula 1(插头DP)
  12. ActiveMQ依赖JDK版本关系
  13. 随笔二-https://www.cnblogs.com/shang1680/p/9657994.html
  14. selenium常用的模块
  15. 51nod1158 最大子矩形 单调栈应用
  16. SPOJ - AMR11E
  17. YAML配置,spring boot 配置文件
  18. linux和window是文件挂载
  19. 【转载】COM 组件设计与应用(十五)——连接点(vc6.0)
  20. mininet+floodlight使用(一)

热门文章

  1. 《基于CNN和SVM的人脸识别系统的设计与实现》论文笔记十六
  2. GuzzleHttp示例
  3. vue组件传值 | 子父组件
  4. docker实战(8)使用docker-compose快速搭建zookeeper集群
  5. Django不使用序列化器时来进行查询结果序列化
  6. [Python.Unix和Linux系统管理指南]书籍
  7. JS中split、slice、splice区别
  8. Linux基础第十一章:日志文件及如何使用rsyslog搭建小型日志服务器
  9. 微信小程序 的 openid,appid,unionid
  10. Peer Review