
公众号:uncle39py
V1
2022/02/07阅读:74主题:默认主题
flask-script(制定命令)
flask-script(制定命令)
script : 脚本
1、flask-script
是一个命令行管理器,可以通过命令来启动Flask应用(替代pycharm中右键运行);
安装:pip install flask-script
# app.py(文件名)
from flask import Flask
from flask_script import Manager # 命令行管理器
app = Flask(__name__)
manager = Manager(app) # 封装app
@app.route('/')
def index():
return 'hello'
if __name__ == '__main__':
manager.run() # 启动
命令行启动Flask应用:python app.py runserver
python app.py runserver --help
查看此命令的参数,通过参数可以修改host、端口等
2、我们还可以定制flask-script命令,代码如下所示:
# app.py(文件名)
from flask import Flask
from flask_script import Manager
app = Flask(__name__)
manager = Manager(app)
@manager.command
def welcome(name):
print('welcome:%s' %name)
#知识点1:命令行输入python app.py welcome egg(参数),就可以执行这个定制命令,运行@manager.command所装饰的函数
@manager.option('-n','--name',dest='name') #-n代表简写,--name代表全称,dest='name'代表参数是传给形参中的name的
@manager.option('-u','--url',dest='url')
def cmd(name,url):
print(name,url)
#知识点2:命令行输入python app.py cmd -n egg -u www
if __name__ == '__main__':
manager.run()
活学活用:
-
django中通过命令创建超级管理员的功能,可以用 flask-script
定制命令来实现,通过写一个函数(用@manager.command装饰),函数里面通过input来接收外界输入的用户名,然后写到数据库中 -
可以通过定制命令来创建数据库的表 -
可以通过定制命令来实现把excel中的数据批量插入到数据库中(借助openpyxl),比如: python app.py insertdb --file 数据.xls --to table1
这些本质都是通过函数来实现,但是通过命令来执行函数
3、python app.py shell
运行这条命令后,在命令行中会出现交互式界面,其中app.py已经被导入进来,可以在交互式界面直接使用app.py里面的属性;
作者介绍

公众号:uncle39py
V1