Flask-Script 扩展

文档: https://flask-script.readthedocs.io/en/latest/

这个模块的作用可以让我们通过终端来控制flask项目的运行,类似于django的manage.py

安装命令:

pip install flask-script

集成 Flask-Script到flask应用中,创建一个主应用程序,一般我们叫manager.py/run.py/main.py都行。
下面的应用名:manager.py

# 自定义脚本命令
#  1. 引入Command命令基类
#  2. 创建命令类必须直接或间接继承Command,并在内部实现run方法,同时如果有自定义的其他参数,则必须实现__init__
#  3. 使用flask_script应用对象manage.add_command对命令类进行注册,并设置调用终端别名。
# option装饰后的作用:可以传递命令参数,通过装饰器manager.command,添加一个命令
from flask import Flask
from flask_script import Manager,Command,Option
import os
app = Flask(__name__)class Config():DEBUG = Trueapp.config.from_object(Config)
"""基于flask_script创建自定义终端命令"""class HelloCommand(Command):"""命令相关的注释"""option_list = [Option("--name","-n",help='名称'),    # 自定义的命令参数  简写参数  参数的帮助信息Option("--qwq","-m",help="大魔王")]def run(self,name,qwq):print("name=%s" % name)print(qwq)print("命令执行了!!!")class BluePrintCommand(Command):""" 和django的创建应用app的命令 """option_list = [Option( '--startapp',"-startapp",help='创建应用app')]def run(self, startapp):if startapp is None :print('文件名不能为空!')returnelif not os.path.isdir(startapp):os.mkdir(startapp)open("%s/views.py" % startapp,'w')open("%s/models.py" % startapp, 'w')with open("%s/urls.py" % startapp, 'w') as f:f.write("""from . import views
urlpatterns = []
""")print('创建成功!')else:print("创建失败!文件名已存在")# 注册终端脚本工具到app中
manager = Manager(app)
manager.add_command('hello',HelloCommand)   # 自定义的命令名字
manager.add_command('startapp',BluePrintCommand)@app.route(rule='/')
def qwq():return 'ok'if __name__ == '__main__':# 注意,这里不是app对象manager.run()# 端口和域名不写,默认为127.0.0.1:5000
# python manager.py runserver       manager.py 本py文件的名字# 通过-h设置启动域名,-p设置启动端口
# python manager.py runserver -h127.0.0.1 -p8888""" 命令显示
(flask) yanmu@yanmu:~/桌面/flask/day02$ python manager.py startapp --startapp=qwq
创建成功!
(flask) yanmu@yanmu:~/桌面/flask/day02$ python manager.py startapp --startapp=qwq
创建失败!文件名已存在
(flask) yanmu@yanmu:~/桌面/flask/day02$ python manager.py hello --name=大魔王 -m=qwq
name=大魔王
qwq
命令执行了!!!
(flask) yanmu@yanmu:~/桌面/flask/day02$ python manager.py runserver -h127.0.0.1 -p9000* Running on http://127.0.0.1:9000/ (Press CTRL+C to quit)* Restarting with stat* Debugger is active!* Debugger PIN: 104-532-688
^C(flask) yanmu@yanmu:~/桌面/flask/day02$ python manager.py
usage: manager.py [-?] {hello,startapp,shell,runserver} ...positional arguments:{hello,startapp,shell,runserver}hello               命令相关的注释startapp            和django的创建应用app的命令shell               Runs a Python shell inside Flask application context.runserver           Runs the Flask development server i.e. app.run()optional arguments:-?, --help            show this help message and exit
(flask) yanmu@yanmu:~/桌面/flask/day02$ """

Flask 自定义命令 类似于django的manage.py相关推荐

  1. Django运行manage.py服务显示ModuleNotFoundError:

    Django运行manage.py服务显示ModuleNotFoundError: 记录下本人开始学习Django时所遇到的问题: 启动 manage.py 服务 报错:ModuleNotFoundE ...

  2. python后台架构Django教程——manage.py命令

    全栈工程师开发手册 (作者:栾鹏) 一.manage.py命令选项 manage.py是每个Django项目中自动生成的一个用于管理项目的脚本文件,需要通过python命令执行.manage.py接受 ...

  3. 解决django运行manage.py runscript命令时报错Try running with a higher verbosity level like: -v2 or -v3

    解决方法 查看命令是否书写正确:比如脚本名称为 my_script.py 时: python3 manage.py runscript my_script my_script.py文件中需要有入口函数 ...

  4. python 运行cmd命令失败怎么办_python manage.py runserver命令在cmd命令框中可以正确执行,但是在pycharm的终端中运行就失败了!...

    源自:2-2 初始Django项目 python manage.py runserver命令在cmd命令框中可以正确执行,但是在pycharm的终端中运行就失败了! (venv) E:\python\ ...

  5. django的manage.py代码简析

    django中创建一个project之后,就会创建一个以项目名称命名的文件中,文件夹中包含了一个同名文件夹和一个manage.py文件.比如: 之后如果要启动服务.同步数据库等操作,都是用python ...

  6. django项目manage.py指定IP和端口

    默认运行方法:python manage.py runserver 指定ip和端口: python manage.py runserver 211.168.15.23:8000 问题:127.0.0. ...

  7. Django进阶: 如何自定义manage.py管理命令

    每次在启动Django服务之前,我们都会在终端运行python manage.py xxx的管理命令.其实我们还可以自定义管理命令,这对于执行独立的脚本或任务非常有用,比如清除缓存.导出用户邮件清单或 ...

  8. Dango笔记---manage.py 脚本的使用

    Dango---manage.py 脚本的使用 @explain:以下内容大都源于"自强学堂" 1. 管理Django项目 python manage.py startprojec ...

  9. python manage.py syncdb Unknown command: 'syncdb'问题解决方法

    在django1.9后的版本中,python manage.py syncdb命令修改为python manage.py migrate,执行正常. 转载自https://blog.csdn.net/ ...

最新文章

  1. hdc mfc 画扇形图_使用echarts绘制条形图和扇形图
  2. R语言plotly可视化:使用PCA算法进行数据降维、使用plotly可视化PCA所有的主成分绘制散点图矩阵、降维后的两个(三个)核心主成分的二维、三维可视化图形、方差解释的量、载荷图等
  3. 用CSS控制表格的框格线
  4. python 实现 softmax
  5. 以Delphi Package架构多人开发应用程序环境
  6. C语言中%c与%s的区别与划分
  7. java分治_【Java算法】什么是分治算法?
  8. html默认下面,阅读下面配置web默认页面index.html的代码 index.html 下面选项中,说法正确的是() (多选)...
  9. x64 结构体系下的内存寻址
  10. 干货!专治设计师没灵感没创意没素材
  11. Atitit.病毒木马程序的感染 传播扩散 原理
  12. sqlserver自定义函数
  13. python杂记-集合和字典
  14. 在ubuntu中使用visual studio code对C/C++文件调试
  15. PAT甲级 1087 条条大路通罗马
  16. curse库的使用总结
  17. [原创]gsoap的基本使用方法『C++web服务工具包』
  18. 在JAVA中 以下程序_在Java中,以下程序的输出结果是()_学小易找答案
  19. WAP 调用BREW
  20. 临床医生公派赴美国密歇根大学医院访学交流

热门文章

  1. 数据分析需要掌握的东西有哪些?
  2. The Unarchiver 4 for Mac(解压缩软件)
  3. jPlayer播放后台返回的语音流
  4. java文字转语音播报并输出文件
  5. 爬壁机器人外文文献_新型爬壁机器人多向磁化永磁吸附装置的设计外文文献翻译、中英文翻译...
  6. HTML5作业1员工信息登记表
  7. QT Mac app签名及公证
  8. 流量分析软件实时分析php mysql_石头科技 - 舆情分析小助手(php+mysql) v20200513
  9. 使用 TensorFlow 在卷积神经网络上实现 L2 约束的 softmax 损失函数
  10. 途虎养车2021秋招数据分析笔试试卷A[题目整理]