介绍及安装

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/

最新文章

  1. Android开发案例 - 欢迎界面
  2. Entity Framework 6 with MySql
  3. Codeforces 402B --耻辱的一题
  4. js图片跑马灯效果
  5. OpenCV3编程入门笔记(2)计时函数、感兴趣区域RIO、分离/混合通道
  6. XMPP iOS开发(IM开发,转)
  7. Windows Services的1053错误的解决办法之一:修改注册表允许的响应时间
  8. Memcached【第一篇】安装
  9. android sdk manager 国内镜像
  10. 【转】linux shell ${}简单用法
  11. 对国内IoT的展望
  12. 实验吧—安全杂项——WP之 你知道他是谁吗?
  13. ssh免密登陆权限问题
  14. web前端----css补充
  15. 『Scrapy』终端调用&选择器方法
  16. Delphi7到Delphi XE2的升级历程
  17. 九九乘法表的python复习
  18. Python模拟登录wap版百度贴吧+自己主动回贴
  19. jQuery因mouseover,mouseout冒泡产生的闪烁问题
  20. python网络编程--协程

热门文章

  1. 标签的增加、删除与复制,动态标签js不生效的解决
  2. CSS 实现水平垂直居中
  3. git_clone资源获取失败解决
  4. linux性能分析工具Top
  5. 四、附加到进程调试(.NET Core)
  6. mysql中文乱码解决办法
  7. Flutter-showBottomSheet底部彈出框
  8. 第二节:链接mongodb服务器
  9. iPython清屏命令
  10. Echarts--Y坐标标题显示不全