zoukankan      html  css  js  c++  java
  • Flask之flask-script

    简介

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

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

    1.安装 Flask-Script

    pip install Flask-Script

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

    import MyApp
    # 导入 Flask-Script 中的 Manager
    from flask_script import Manager
    
    app = MyApp.create_app()
    # 让app支持 Manager
    manager = Manager(app)
    
    if __name__ == '__main__':
        #app.run()
        # 替换原有的app.run(),然后大功告成了
        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

    import MyApp
    # 导入 Flask-Script 中的 Manager
    from flask_script import Manager
    
    app = MyApp.create_app()
    # 让app支持 Manager
    manager = Manager(app) # type:Manager
    
    @manager.command
    def DragonFire(arg):
        print(arg)
    
    if __name__ == '__main__':
        #app.run()
        # 替换原有的app.run(),然后大功告成了
        manager.run()
    
    MyApp/manager.py
    python manager.py DragonFire 666

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

    import MyApp
    # 导入 Flask-Script 中的 Manager
    from flask_script import Manager
    
    app = MyApp.create_app()
    # 让app支持 Manager
    manager = Manager(app) # type:Manager
    
    @manager.command
    def DragonFire(arg):
        print(arg)
    
    @manager.option("-n","--name",dest="name")
    @manager.option("-s","--say",dest="say")
    def talk(name,say):
        print(f"{name}你可真{say}")
    
    if __name__ == '__main__':
        #app.run()
        # 替换原有的app.run(),然后大功告成了
        manager.run()
    
    MyApp/manager.py
    python manager.py talk -n 赵丽颖 -s 漂亮
    python manager.py talk --name DragonFire --say NB-Class

    原文选自:https://www.cnblogs.com/DragonFire/p/10365827.html

  • 相关阅读:
    Digital Square(hdu4394)搜索
    Substrings(hdu1238)字符串匹配
    Graveyard(poj3154)
    数据库的范式理论
    模和除
    You can Solve a Geometry Problem too (hdu1086)几何,判断两线段相交
    对vector等STL标准容器进行排序操作(转!)
    0 or 1(hdu2608)数学题
    LintCode 4.丑数
    LintCode 9.Fizz Buzz问题
  • 原文地址:https://www.cnblogs.com/qq631243523/p/10393689.html
Copyright © 2011-2022 走看看