首页 > 其他分享 >flask-script

flask-script

时间:2023-04-07 20:44:11浏览次数:31  
标签:manage name script flask py manager

flask-script

我们启动flask项目可以通过执行程序app.run()来启动,而flask_script可以帮助我们通过脚本命令的形式启动项目。

不过要注意,flask_script是第三方模块,flask兼容版本需要注意,可以按照以下的版本对应:

Flask==2.2.2
Flask_Script==2.0.3

基本使用

## manage.py中
from flask_script import Manager
# 用Manager包裹一下app
manager=Manager(app)
manager.run()

# 在终端中使用命令启动
python manage.py runserver

上述代码是对启动项目命令的基本使用,我们还可以自定制命令。

自定义命令

简单自定制命令

@manager.command
def custom(arg):
    print(arg)
    
# 使用自定制命令
python manage.py custom
python manage.py custom xxx    # 可以传入参数

自定制命令可以应用开机自启的一些任务,比如说,每次启动项目,我们想将celery的worker和beat也顺带启动,那么就可以在这里进行。

ps:这里简单补充一下:启动worker、beat使用命令行的形式启动的,那么我们可以用subprocess模块去执行

复杂自定制命令

@manager.option('-n', '--name', dest='name')
@manager.option('-u', '--url', dest='url')
def cmd(name, url):
    print(name, url)
    
# 使用复杂自定制命令
python manage.py cmd -n leethon -u xxx
python manage.py cmd --name leethon --url uuu

manager.option('-n', '--name', dest='name')传入的参数分别代表(短关键字、长关键字、反正就是各种关键字、dest='对应形参名')

标签:manage,name,script,flask,py,manager
From: https://www.cnblogs.com/Leethon-lizhilog/p/17297286.html

相关文章

  • flask信号
    flask信号什么是信号?项目功能复杂,代码量越大,就越需要做业务解耦,我们在程序的某些环节发出信号,我们如果给这个信号绑定了方法,那么就会触发方法的执行。flask框架的信号基于blinker模块,在框架的一些核心功能做扩展时,我们可以只让其执行一句发出信号的代码,扩展的功能写在别处。......
  • [Javascript] Improve performance of Array.reduce
    Comparetwocodesnippetconstpeople=[{id:1,name:'John',age:45},{id:2,name:"Op",age:32},{id:3,name:"Wade",age:39}]//option1constres=people.reduce((acc,curr)=>{return({......
  • django/flask高并发部署
    django和flask是同步框架,部署的时候使用uwsgi部署,uwsgi是多进程多线程框架,并发量不高大概几十。我们可以通过uwsgi加gevent部署成异步程序,普通的部署方式uwsgi-x./luffyapi.xml这是使用genvent提高并发部署uwsgi--gevent50--gevent-monkey-patch./luffyapi.xml......
  • flask源码解析
    flask源码解析本篇主要是针对于以下一些问题进行源码剖析,并补充解释一些python语法的用法与应用场景。flask生命周期流程flask的request、session等都是导入进来的,也就意味着每次请求,我们所用的都是同一个request对象,它为什么能够按照同种方式取到自己request对象值呢flask......
  • flask5
    今日内容1信号#Flask框架中的信号基于blinker(安装这个模块),其主要就是让开发者可是在flask请求过程中定制一些用户行为flask和django都有#观察者模式,又叫发布-订阅(Publish/Subscribe)23种设计模式之一pip3.8installblinker#信号:signial翻译过来的,并发编程中学过......
  • flask框架04 导出项目 local flask生命执行流程 wtforms
    今日内容详细目录今日内容详细1请求上下文分析(源码:request原理)1.1导出项目的依赖1.2函数和方法1.3threading.local对象1.4偏函数1.5flask整个生命执行流程(1.1.4版本为例)2wtforms(了解)1请求上下文分析(源码:request原理)1.1导出项目的依赖#之前pipfreeze>requ......
  • salesforce学习笔记(3-1)- JavaScript Promise(LWC)
    在JS代码中,Promise到底有什么作用?首先,我们知道的是,Javascript是单线程的,什么意思呢?就是说JS在同一时间只能做一个操作,代码的执行是一行一行进行的:  这种执行方式带来的问题就是在我们打开某个画面的时候,画面可能会卡住转圈、加载中状态很久,用户体验感很差。Promise可用于......
  • javascript把本地sql数据库表转换为对象
    在做项目的时候,需要读取本地数据库,并且在页面上显示出来,原始数据读取出来的原始数据如下:varr=sqliteDB.exec(document.getElementById('txtSQL').value); console.info(r);  使用系统的转换方式console.log('Hereisarow:'+JSON.stringify(r));  可以看到其......
  • IIS 配置错误定义了重复的“system.web.extensions/scripting/scriptResourceHandler
    https://www.cnblogs.com/skylaugh/p/6376426.html我运行在iis中配置的那个网站后,报错:错误代码0x800700b7配置错误定义了重复的“system.web.extensions/scripting/scriptResourceHandler”节 这个问题原因在于window7的IIS默认用的是ASP.NETv4.0应用程序池。解决方法:把这......
  • 你不会还不知道JavaScript常用的8大设计模式?
    JavaScript常用的8大设计模式有工厂模式:工厂模式是一种创建对象的模式,可以通过一个共同的接口创建不同类型的对象,隐藏了对象的创建过程。单例模式:单例模式是一种只允许实例化一次的对象模式,可以通过一个全局访问点来访问它。建造者模式:建造者模式是一种创建复杂对象的模式,通......