• Flask第十七篇 Flask-Scrip


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

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

    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
    View Code

    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
    View Code
    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
    View Code
    python manager.py talk -n 赵丽颖 -s 漂亮
    python manager.py talk --name DragonFire --say NB-Class

  • 相关阅读:
    解决Android的ListView控件滚动时背景变黑
    倒计时实现网页跳转
    java获取当前路径
    JavaScript笔记之面向对象
    Jqery调用WebService(.Net3.5环境下)
    Android开发:TabActivity中onKeyDown无法响应的解决方法
    最近不知道什么时候开始D3D11CreateDevice返回E_FAIL
    C++ allocator及一些影响程序性能的因素
    AOP切面编程 几年前写的,移过来
    Adaptive Transparency
  • 原文地址:https://www.cnblogs.com/xintiao-/p/10446890.html
Copyright © 2020-2023  润新知