Flask:Flask-script插件
2024-10-06 15:38:50
Flask-Script插件扩展提供向Flask插入外部脚本的功能,包括一个开发用的服务器,一个定制的python shell,设置数据库的脚本,cronjobs,及其它运行在web应用之外的命令行任务,使得脚本与系统分开
Flask-Script与Flask本身的工作方式类似,只需要定义和添加从命令行中被Manager实例调用的命令,使用Flask-Script可以轻松的给Flask项目添加脚本命令
1、安装Flask-Script
命令:
pip install flask-script
2、创建并运行命令
首先,创建一个python模板运行命令脚本,这里使用manage.py
在该文件中,必须有一个Manager实例,Manager类追踪所有在命令行中调用的命令和处理过程的调用运行情况
Manager只有一个参数——Flask实例
调用Manage.run()启动Manager实例接收命令行中的命令
manage.py
from models import models
from views import app
from flask_script import Manager manage = Manager(app) # 当执行python manage.py migrate时调用migrate函数
@manage.command
def migrate():
models.create_all() if __name__ == '__main__':
manage.run()
这样配置完毕后,我们可以再对pycharm进行配置,这样就可以使用pycharm运行项目,还可以使用Debug进行断点调试
修改默认的runserver配置,命令:
manage.py
from views import app
from flask_script import Manager, Server manage = Manager(app)
manage.add_command("runserver", Server(use_debugger=True, host="127.0.0.1", port=8000))
运行效果:
仅在命令行运行项目时候起作用,使用pycharm运行时该配置无效
3、使用Flask-Script创建命令的方法
(1)使用command子类
manage.py
from flask_script import Manager, Command manage = Manager(app) class Hello(Command):
def run(self):
print("hello") manage.add_command("hello", Hello())
(2)使用command装饰器
manage.py
from flask_script import Manager manage = Manager(app) # 当执行python manage.py migrate时调用migrate函数
@manage.command
def migrate():
models.create_all()
执行效果:
(3)使用option装饰器
复杂情况下,建议使用option
manage.py
from flask_script import Manager, Command manage = Manager(app) @manage.option("-n", "--name", dest="name", default="world")
def hello(name):
print("hello %s" % name)
执行结果:
最新文章
- android-----test------模拟来电提醒和短信提醒
- centos安装php扩展
- 数据可视化(2)--Justgage
- Google搜索命令语法大全
- 所有的代码生成器都是浮云,如果可以用aspx文件作为模板
- c# 4.0新特性一览
- Windows Service 之 详解(一)
- TOJ3596 二维背包
- Foundations of Computer Science
- Document类型知识大全
- MongoDB通过Shell 实现集合的日常归档
- Java学习笔记(2)
- xxl系列部署启动通用办法
- eval()、exec()与execfile()
- Python入门:for循环、while循环
- Windows10更新后,远程桌面无法登录服务器 提示远程桌面协议 CredSSP 出现漏洞
- java服务端技术
- jQuery 效果 - 停止动画
- Linux内核同步 - Seqlock
- WCF使用net.tcp绑定时的注意事项