8.Flask-Script
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的更多相关文章
- flask+script命令行交互工具
Project name :Flask_Plan templates:templates static:static 首先说,我们flask比django方便的地方是所有的模块都可以自己选,你不喜欢s ...
- Flask script 内的Shell 类 使用
1.集成Python shell 每次自动shell会话都要导入数据库实例和模型,很烦人.为了避免一直重复导入,我们可以做些配置让Flask-Script的Shell命令自动导入特定的对象.若想把对象 ...
- Flask deployment on gunicorn with flask script
https://stackoverflow.com/questions/34265870/flask-deployment-on-gunicorn-with-flask-script 依赖 Flask ...
- Flask + WSGI + Nginx 云部署
这几天学着用flask写一些rest api,然后部署到云上.这个过程虽然网上有很多的教程,但还是遇到不少的问题! 采用flask的原因是因为它比较容易上手吧.用flask有专门restful api ...
- 阿里云部署 Flask + WSGI + Nginx 详解
抵不住朋友的诱惑,今天终于入手了一台阿里云服务器,是Ubuntu 1.4 32位版本,最初考虑是用来尝尝鲜只是买了个最低配的,价格算起来与在国外买个空间的价格相当吧(可能一年才贵100多),但用起来感 ...
- 8、flask之flask-script组件
Flask Script扩展提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定制的Python shell,设置数据库的脚本,cronjobs,及其他运行在web应用之外的命令行任 ...
- Flask组件
组件踩坑记录 : 先注册组件在使用配置(...) flask-script Flask Script扩展提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定制的Python shel ...
- flask之flask-script组件
Flask Script扩展提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定制的Python shell,设置数据库的脚本,cronjobs,及其他运行在web应用之外的命令行任 ...
- 细说flask数据库迁移
什么情况下要用数据库迁移? 在开发过程中,需要修改数据库模型,而且还要在修改之后更新数据库.最直接的方式就是删除旧表,但这样会丢失数据. 更好的解决办法是使用数据库迁移框架,它可以追踪数据库模式的变化 ...
- python 全栈开发,Day142(flask标准目录结构, flask使用SQLAlchemy,flask离线脚本,flask多app应用,flask-script,flask-migrate,pipreqs)
昨日内容回顾 1. 简述flask上下文管理 - threading.local - 偏函数 - 栈 2. 原生SQL和ORM有什么优缺点? 开发效率: ORM > 原生SQL 执行效率: 原生 ...
随机推荐
- JS全角与半角转化小结
最近在做PC端网站的页面的一个表单校验,需要把全角输入转化成半角符号.之前没有了解过这些编码的知识,还是得Google一下查查资料,故简单总结一下. 什么是全角.半角 传统上,英语或拉丁字母语言使用的 ...
- python正则表达式判断素数【厉害了】
参考: https://www.cnblogs.com/imjustice/p/check_prime_by_using_regular_expression.html for i in range( ...
- arcgis js 鼠标点和绘制的点位有偏移
问题描述:鼠标点和绘制的点位有偏移 问题原因:地图DIV中包含了一个面板DIV,停靠在了地图页面的左边,隐藏掉就是正确了 解决方法:重写DIV样式,让左边DIV与地图DIV平级排列.
- zabbix 安装rpm
zabbix安装 1 安装数据库 #yum install mariadb-server -y 配置配置文件 #vim /etc/my.cnf skip_name_resolve=on innodb ...
- php换行和<br />互转
使用场景:在后台处理textarea换行的时候出现了问题, textarea里面的换行就是/n, 在textarea里面是有换行效果的,但是输出到其它地方没有效果,这时候就要用到PHP的神奇的nl2b ...
- Jmeter中基本操作
Jmeter中基本操作包括 1:线程组 2:HTTP信息头管理器 3:HTTP请求默认值 4:HTTP请求 5:查看结果树 操作步骤如下: 1.创建一个线程组 通俗的讲一个线程组,,可以看做一个虚拟用 ...
- mybatis常用类起别名
在mybatis的配置文件中添加如下配置 <settings> <setting name="cacheEnabled" value="true&quo ...
- 自制vbs消息轰炸机
自制消息轰炸机 目标 做一个简单的,可以自己输入参数的vbs程序 准备 电脑qq 脚本设计成了可以指定发给某个好友轰炸的形式,在写好以后容错性比较强,但这意味着你想换人的话,需要重新改代码 vbs脚本 ...
- npm、cnpm、yarn 安装删除异同
背景 一直觉得npm.cnpm.yarn的安装删除基本一样用哪个都行,不过俗话说的好,实践出真知,这里记录一下今天简单测试得到的结果总结. 可能会有错误,希望大家评论指正,十分感谢. 测试电脑系统:M ...
- 《SpringMVC从入门到放肆》十二、SpringMVC自定义类型转换器
之前的教程,我们都已经学会了如何使用Spring MVC来进行开发,掌握了基本的开发方法,返回不同类型的结果也有了一定的了解,包括返回ModelAndView.返回List.Map等等,这里就包含了传 ...