zoukankan      html  css  js  c++  java
  • Flask-Script

    介绍及安装

    Flask-Script是一个让你的命令行支持自定义命令的工具,它为Flask程序添加一个命令行解释器。可以让我们的程序从命令行直接执行相应的程序。
    安装

    pip install Flask-Script

    用于在终端启动项目

    from flask import Flask
    from flask_script import Manager
    
    app = Flask(__name__)
    manager = Manager(app)
    
    if __name__ == '__main__':
        manager.run()
    

    启动项目

    python manage.py runserver -h 0.0.0.0 -p 8888

    用于在终端启动应用中脚本

    1.使用Command 类

    from flask_script import Manager
    
    app = Flask(__name__)
    # configure your app
    
    manager = Manager(app)
    
    from flask_script import Command
    
    class Hello(Command):
        "prints hello world"
    
        def run(self):
            print("hello world")
    # 将命令添加到我们的Manager实例中,就像上面创建的一样:        
    manager.add_command('hello', Hello())
    
    if __name__ == "__main__":
        manager.run()
    

    执行命令

    python manage.py hello
    

    可以将Command以字典的形式将实例传递给manager.run()

    manager.run({'hello' : Hello()})
    

    执行命令

    python manage.py
    

    2.使用@command装饰器

    from flask import Flask
    from flask_script import Manager
    
    app = Flask(__name__)
    # configure your app
    manager = Manager(app)
    
    @manager.command
    def hello():
        "Just say hello"
        print("hello")
    if __name__ == "__main__":
        manager.run()
    

    执行命令

    python manage.py hello
    

    3.使用@option装饰器

    from flask_script import Manager
    from app.models import User
    from app import db,create_app
    
    myapp = create_app()
    
    manager = Manager(myapp)
    
    @manager.option('-u', '--username', help="指定用户名")
    def add_user(username):
        """添加用户, 指定用户名和密码"""
        if username:
            u = User(name=username)
            db.session.add(u)
            db.session.commit()
            return  "添加用户%s成功" %(u.name)
        else:
            return  "请指定用户"
    
    if __name__ == "__main__":
        manager.run()
    

    执行命令

    python manage.py add_user -u xiaoqi
    添加用户xiaoqi成功
    

    可以提前写好一些命令,可通过命令行快速执行操作。比如上面的创建用户操作。

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

  • 相关阅读:
    Hive架构(数据库和表)?
    BUG管理工具的跟踪过程(用BugZilla为例子)
    shiro有哪些组件?
    接口绑定有几种实现方式,分别是怎么实现的?
    什么是 MyBatis 的接口绑定,有什么好处?
    MyBatis 的好处是什么?
    MyBatis 与 Hibernate 有哪些不同?
    什么是 MyBatis 的接口绑定,有什么好处?
    MyBatis 的好处是什么?
    MyBatis 与 Hibernate 有哪些不同?
  • 原文地址:https://www.cnblogs.com/liuweida/p/11697842.html
Copyright © 2011-2022 走看看