Flask-script的作用是可以通过命令行的形式操作flask。安装方式:pip install flask-script

1.1.command装饰器

(1)创建manage.py

from flask_script import Manager

from flask_scripts_demo import app

manager = Manager(app)

@manager.command      #这个装饰器把函数变成在终端可以运行的命令
def greet():
print('你好') if __name__ == '__main__':
manager.run()

(2)执行命令

在cmd终端运行

python manage.py greet

# “你好”

1.2.option装饰器

manage.py

from flask_script import Manager

from flask_scripts_demo import app

manager = Manager(app)

@manager.command      #这个装饰器把函数变成在终端可以运行的命令
def greet():
print('你好') #如果函数需要传递参数就用option装饰器
@manager.option("-u","--username",dest="username") #第一个参数是简称
@manager.option("-a","--age",dest="age")
def add_user(username,age):
print("添加的用户名是:%s,年龄是:%s"%(username,age)) if __name__ == '__main__':
manager.run()

在cmd终端添加用户

python manage.py add_user -u derek -a 18

#添加的用户名是:derek,年龄是:18

1.3. 实例:模拟django通过命令添加超级管理员

flask-script_demo.py

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import config app = Flask(__name__)
app.config.from_object(config)
db = SQLAlchemy(app) class BackendUser(db.Model):
__tablename__ = 'backend_user'
id = db.Column(db.Integer,primary_key=True,autoincrement=True)
username = db.Column(db.String(50),nullable=False)
email = db.Column(db.String(50),nullable=False) db.create_all() @app.route('/')
def hello_world():
return 'Hello World!' if __name__ == '__main__':
app.run()

manage.py

from flask_script import Manager

from flask_scripts_demo import app
from flask_scripts_demo import BackendUser,db manager = Manager(app) @manager.option("-u","--username",dest="username")
@manager.option("-e","--email",dest="email")
def add_user(username,email):
user = BackendUser(username=username,email=email)
db.session.add(user)
db.session.commit() if __name__ == '__main__':
manager.run()

cmd终端添加用户到数据库

python manage.py add_user -u derek -e 111@qq.com

8.Flask-Script的更多相关文章

  1. flask+script命令行交互工具

    Project name :Flask_Plan templates:templates static:static 首先说,我们flask比django方便的地方是所有的模块都可以自己选,你不喜欢s ...

  2. Flask script 内的Shell 类 使用

    1.集成Python shell 每次自动shell会话都要导入数据库实例和模型,很烦人.为了避免一直重复导入,我们可以做些配置让Flask-Script的Shell命令自动导入特定的对象.若想把对象 ...

  3. Flask deployment on gunicorn with flask script

    https://stackoverflow.com/questions/34265870/flask-deployment-on-gunicorn-with-flask-script 依赖 Flask ...

  4. Flask + WSGI + Nginx 云部署

    这几天学着用flask写一些rest api,然后部署到云上.这个过程虽然网上有很多的教程,但还是遇到不少的问题! 采用flask的原因是因为它比较容易上手吧.用flask有专门restful api ...

  5. 阿里云部署 Flask + WSGI + Nginx 详解

    抵不住朋友的诱惑,今天终于入手了一台阿里云服务器,是Ubuntu 1.4 32位版本,最初考虑是用来尝尝鲜只是买了个最低配的,价格算起来与在国外买个空间的价格相当吧(可能一年才贵100多),但用起来感 ...

  6. 8、flask之flask-script组件

    Flask Script扩展提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定制的Python shell,设置数据库的脚本,cronjobs,及其他运行在web应用之外的命令行任 ...

  7. Flask组件

    组件踩坑记录 : 先注册组件在使用配置(...) flask-script Flask Script扩展提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定制的Python shel ...

  8. flask之flask-script组件

    Flask Script扩展提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定制的Python shell,设置数据库的脚本,cronjobs,及其他运行在web应用之外的命令行任 ...

  9. 细说flask数据库迁移

    什么情况下要用数据库迁移? 在开发过程中,需要修改数据库模型,而且还要在修改之后更新数据库.最直接的方式就是删除旧表,但这样会丢失数据. 更好的解决办法是使用数据库迁移框架,它可以追踪数据库模式的变化 ...

  10. python 全栈开发,Day142(flask标准目录结构, flask使用SQLAlchemy,flask离线脚本,flask多app应用,flask-script,flask-migrate,pipreqs)

    昨日内容回顾 1. 简述flask上下文管理 - threading.local - 偏函数 - 栈 2. 原生SQL和ORM有什么优缺点? 开发效率: ORM > 原生SQL 执行效率: 原生 ...

随机推荐

  1. Xpath Helper的使用

    xPath Helper插件 xPath helper是一款Chrome浏览器的开发者插件,安装了xPath helper后就能轻松获取HTML元素的xPath,程序员就再也不需要通过搜索html源代 ...

  2. 1、Linux文件结构介绍

    文件目录介绍 bin 可执行的命令 boot 启动相关的程序:boot→grub→grub.conf timeout修改启动时间 dev 设备.硬件相关信息 etc 程序.系统配置文件 home 用户 ...

  3. 迅雷最新bug已被找到!mac不用登录也可以极速下载了!

    想体验迅雷不限速的快感吗?下载这款迅雷Mac(不限速免vip)免登录版吧!拥有了这款迅雷Mac破解版,电影.游戏等所有大文件都不在话下.体验极速的下载功能,尽在迅雷Mac(不限速免vip)破解版!需要 ...

  4. hdu6489 2018 黑龙江省大学生程序设计竞赛j题

    Problem Description Kayaking is playing a puzzle game containing n different blocks. He marks the bl ...

  5. AddIn 中当前完整文件名的获取

    Me.Application.ActiveWorkbook.Name 需要注意的是:只有当前文件已经存档的情况下,才能获得后缀名.

  6. 【Vue-Cli3.0】【2】渲染

    哈哈哈,发工资啦,发工资啦,立刻就买了一个matebook D .开启了新的编程工作区了. 进入正题 Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统.这句话来自 ...

  7. [Ubuntu]修改文件夹及所有子文件夹权限

    sudo chmod -R 777 FILE_NAME 使FILE_NAME文件或文件夹具有读写和执行的权限.

  8. centos docker 升级至最新稳定版--摘自官网

    亲测好使 删除老版本的docker sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ do ...

  9. js的算法题

    1.统计一个字符串中出现最多的字母 给出一个字符串,统计出现次数最多的字母.如:“wqeqwhixswiqhdxsq”,其中出现最多的是q. js算法的实现 function findMax(str) ...

  10. NOIP-火柴棒等式

    题目描述 给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0-9的拼法如图所示: 注意: 1. 加号与等 ...