zoukankan      html  css  js  c++  java
  • flask-script插件

      首先在启动Flask项目时,我们可以传不同的参数作为运行参数。但是我们只能在入口app.run()传参。这样十分的不方便。Flask-Script 是一个 Flask 扩展,为 Flask 程序添加了一个命令行解析器。 Flask-Script 自带了一组常用选项,而且还支持自定义命令。

      自定义创建命令的方法有三种:

    from flask import Flask
    from flask_script import Manager
    from flask_script import Command
    
    app = Flask(__name__)
    
    manager = Manager(app)
    
    
    class Hello(Command):
        'hello world'
    
        def run(self):
            print('hello world!')
    
    #绑定到Hello函数
    manager.add_command('hel', Hello())
    
    if __name__ == '__main__':
        manager.run()

      执行

    (flask_blog) jeff@debian:~/PycharmProjects/flask_blog$ python script_test.py hel
    hello world!

      第二种方法

    from flask import Flask
    from flask_script import Manager
    from flask_script import Command
    
    app = Flask(__name__)
    
    manager = Manager(app)
    
    
    #绑定到Hello函数
    @manager.command
    def hi():
        print('hello world!')
    
    
    if __name__ == '__main__':
        manager.run()

      运行

    (flask_blog) jeff@debian:~/PycharmProjects/flask_blog$ python script_test.py hi
    hello world!

      当参数多个时,使用第三种方式

    from flask import Flask
    from flask_script import Manager
    
    app = Flask(__name__)
    
    manager = Manager(app)
    
    
    @manager.option('-n', '--name', dest='name', help='Your name', default='world')
    def hi(name):
        'hello world or hello <setting name>'
        print('hello', name)
    
    
    if __name__ == '__main__':
        manager.run()

      运行结果:

    (flask_blog) jeff@debian:~/PycharmProjects/flask_blog$ python script_test.py hi
    hello world
    (flask_blog) jeff@debian:~/PycharmProjects/flask_blog$ python script_test.py hi -n jeff
    hello jeff
    (flask_blog) jeff@debian:~/PycharmProjects/flask_blog$ python script_test.py hi --name jeff
    hello jeff
    (flask_blog) jeff@debian:~/PycharmProjects/flask_blog$ python script_test.py hi --name jeff1
    hello jeff1
  • 相关阅读:
    使用Xshell为xftp开ssh通道代理
    linux下查找svn的相关目录的命令
    linux服务器A远程连接服务器B的mysql及1045错误
    怎样下载带权限认证的文件?
    Vue项目打包部署总结
    Vue项目打包压缩:让页面更快响应
    axios请求失败自动重发
    可用的后台管理系统
    vue组件间方式总结
    非脚手架创建vue项目,并使用webpack打包
  • 原文地址:https://www.cnblogs.com/Jeffding/p/8728413.html
Copyright © 2011-2022 走看看