Flask-Scrip
2024-09-06 02:25:23
介绍及安装
Flask-Script是一个让你的命令行支持自定义命令的工具,它为Flask程序添加一个命令行解释器。可以让我们的程序从命令行直接执行相应的程序。
安装
pip install Flask-Script
用于在终端启动项目
from flask import Flask
from flask_script import Manager
app = Flask(__name__)
manager = Manager(app)
if __name__ == '__main__':
manager.run()
启动项目
python manage.py runserver -h 0.0.0.0 -p 8888
用于在终端启动应用中脚本
1.使用Command 类
from flask_script import Manager
app = Flask(__name__)
# configure your app
manager = Manager(app)
from flask_script import Command
class Hello(Command):
"prints hello world"
def run(self):
print("hello world")
# 将命令添加到我们的Manager实例中,就像上面创建的一样:
manager.add_command('hello', Hello())
if __name__ == "__main__":
manager.run()
执行命令
python manage.py hello
可以将Command
以字典的形式将实例传递给manager.run()
:
manager.run({'hello' : Hello()})
执行命令
python manage.py
2.使用@command装饰器
from flask import Flask
from flask_script import Manager
app = Flask(__name__)
# configure your app
manager = Manager(app)
@manager.command
def hello():
"Just say hello"
print("hello")
if __name__ == "__main__":
manager.run()
执行命令
python manage.py hello
3.使用@option装饰器
from flask_script import Manager
from app.models import User
from app import db,create_app
myapp = create_app()
manager = Manager(myapp)
@manager.option('-u', '--username', help="指定用户名")
def add_user(username):
"""添加用户, 指定用户名和密码"""
if username:
u = User(name=username)
db.session.add(u)
db.session.commit()
return "添加用户%s成功" %(u.name)
else:
return "请指定用户"
if __name__ == "__main__":
manager.run()
执行命令
python manage.py add_user -u xiaoqi
添加用户xiaoqi成功
可以提前写好一些命令,可通过命令行快速执行操作。比如上面的创建用户操作。
官方文档:https://flask-script.readthedocs.io/en/latest/
最新文章
- Android开发案例 - 欢迎界面
- Entity Framework 6 with MySql
- Codeforces 402B --耻辱的一题
- js图片跑马灯效果
- OpenCV3编程入门笔记(2)计时函数、感兴趣区域RIO、分离/混合通道
- XMPP iOS开发(IM开发,转)
- Windows Services的1053错误的解决办法之一:修改注册表允许的响应时间
- Memcached【第一篇】安装
- android sdk manager 国内镜像
- 【转】linux shell ${}简单用法
- 对国内IoT的展望
- 实验吧—安全杂项——WP之 你知道他是谁吗?
- ssh免密登陆权限问题
- web前端----css补充
- 『Scrapy』终端调用&;选择器方法
- Delphi7到Delphi XE2的升级历程
- 九九乘法表的python复习
- Python模拟登录wap版百度贴吧+自己主动回贴
- jQuery因mouseover,mouseout冒泡产生的闪烁问题
- python网络编程--协程