zoukankan      html  css  js  c++  java
  • flask强大的第三方组件 flask-script

    Flask-Script 从字面意思上来看就是 Flask 的脚本

    是的,熟悉Django的同学是否还记得Django的启动命令呢? python manager.py runserver 大概是这样对吧

    其实Flask也可以做到,基于 Flask-Script 就可以了 - 但是你还是得有一个项目就是第十四章的项目 点击下载

    1.安装 Flask-Script

    pip install Flask-Script

    2.将 Flask-Script 加入到 Flask 项目中

     1 import MyApp
     2 # 导入 Flask-Script 中的 Manager
     3 from flask_script import Manager
     4 
     5 app = MyApp.create_app()
     6 # 让app支持 Manager
     7 manager = Manager(app)
     8 
     9 if __name__ == '__main__':
    10     #app.run()
    11     # 替换原有的app.run(),然后大功告成了
    12     manager.run()
    MyApp/manager.py

    3.使用命令启动 Flask 项目

    python manager.py runserver

    4.启动项目并更改配置参数(监听IP地址,监听端口)

    python manager.py runserver -h 0.0.0.0 -p 9527

    5.高级操作 - 自定制脚本命令

    5.1.方式一 : @manager.command

     1 import MyApp
     2 # 导入 Flask-Script 中的 Manager
     3 from flask_script import Manager
     4 
     5 app = MyApp.create_app()
     6 # 让app支持 Manager
     7 manager = Manager(app) # type:Manager
     8 
     9 @manager.command
    10 def DragonFire(arg):
    11     print(arg)
    12 
    13 if __name__ == '__main__':
    14     #app.run()
    15     # 替换原有的app.run(),然后大功告成了
    16     manager.run()
    MyApp/manager.py
    python manager.py DragonFire 666

    5.2.方式二 : @manager.opation("-短指令","--长指令",dest="变量名")

     1 import MyApp
     2 # 导入 Flask-Script 中的 Manager
     3 from flask_script import Manager
     4 
     5 app = MyApp.create_app()
     6 # 让app支持 Manager
     7 manager = Manager(app) # type:Manager
     8 
     9 @manager.command
    10 def DragonFire(arg):
    11     print(arg)
    12 
    13 @manager.option("-n","--name",dest="name")
    14 @manager.option("-s","--say",dest="say")
    15 def talk(name,say):
    16     print(f"{name}你可真{say}")
    17 
    18 if __name__ == '__main__':
    19     #app.run()
    20     # 替换原有的app.run(),然后大功告成了
    21     manager.run()
    MyApp/manager.py
    python manager.py talk -n 赵丽颖 -s 漂亮
    python manager.py talk --name DragonFire --say NB-Class

  • 相关阅读:
    linq 查询 过滤数据中某个值是否在数组中
    Nginx 摘要
    Unity调用外部摄像头,全屏显示摄像头画面
    Vuforia切换回识别场景后黑屏解决
    Unity3d通过脚本生成apk
    EF6 CodeFirst连接MySql 报nvarchar('max')错误解决办法
    UNITY_MATRIX_MVP和UnityObjectToClipPos
    Unity的stateMachineBehaviour
    U3D加载服务器上的assetbundle
    jquery解析xml,获取xml标签名
  • 原文地址:https://www.cnblogs.com/gyh412724/p/10490917.html
Copyright © 2011-2022 走看看