美文网首页
17. Flask-Script扩展命令行

17. Flask-Script扩展命令行

作者: Devops海洋的渔夫 | 来源:发表于2019-12-12 23:43 被阅读0次

介绍

在Django中启动服务的时候,可以使用python manage.py runserver 或者 python manage.py shell,那么Flask能否也执行该类的扩展命令行呢?

下面来看看。

Flask-Script扩展

Flask-Script 的引入以及使用:

# 安装flask_script
pip3 install flask_script

# 引入flask_script
from flask_script import Manager   # 启动命令的管理类

# 创建flask的app应用对象
app = Flask(__name__)

# 创建Manager管理类的对象
manager = Manager(app)

# 通过管理对象来启动flask
manager.run()

通过使用Flask-Script扩展,我们可以在Flask服务器启动的时候,通过命令行的方式传入参数。

完整示例代码

from flask import Flask
from flask_script import Manager   # 启动命令的管理类

# 创建Flask的app应用
app = Flask(__name__)

# 创建Manager管理类的对象
manager = Manager(app)

# index视图函数
@app.route("/index")
def index():
    return "index page"

if __name__ == '__main__':
    # app.run(debug=True)
    # 通过管理对象来启动flask
    manager.run()

使用命令行启动flask

启动Flask应用不仅仅可以通过app.run()方法中传参以及启动,通过flask_script可以通过python hello.py runserver 来启动服务,如下:

指定IP和端口号命令行启动flask

还可以指定IP和端口号的启动方式,如下:

$ python3 09_flask_script.py runserver --help
usage: 09_flask_script.py runserver [-?] [-h HOST] [-p PORT] [--threaded]
                                    [--processes PROCESSES]
                                    [--passthrough-errors] [-d] [-D] [-r] [-R]
                                    [--ssl-crt SSL_CRT] [--ssl-key SSL_KEY]

Runs the Flask development server i.e. app.run()

optional arguments:
  -?, --help            show this help message and exit
  -h HOST, --host HOST
  -p PORT, --port PORT
  --threaded
  --processes PROCESSES
  --passthrough-errors
  -d, --debug           enable the Werkzeug debugger (DO NOT use in production
                        code)
  -D, --no-debug        disable the Werkzeug debugger
  -r, --reload          monitor Python files for changes (not 100% safe for
                        production use)
  -R, --no-reload       do not monitor Python files for changes
  --ssl-crt SSL_CRT     Path to ssl certificate
  --ssl-key SSL_KEY     Path to ssl key

我们还可以通过--help来查看参数。

默认可以看到命令行只可以使用shellrunserver

执行flask的交互shell模式

最后再来看看启动交互式的shell,如下:

$ python3 09_flask_script.py shell

# 导入当前的应用
In [1]: from flask import current_app

# 打印当前应用的名称
In [2]: current_app.name
Out[2]: '09_flask_script'

# 不需要导入app了,默认就可以直接使用脚本已经定义好的方法以及对象
In [3]: app.url_map
Out[3]:
Map([<Rule '/index' (GET, OPTIONS, HEAD) -> index>,
 <Rule '/static/<filename>' (GET, OPTIONS, HEAD) -> static>])

相关文章

  • 17. Flask-Script扩展命令行

    介绍 在Django中启动服务的时候,可以使用python manage.py runserver 或者 pyth...

  • Flask-Script扩展命令行

    背景 通过manager脚本进行启动,通过此方式,可以把该文件,变成脚本文件 命令下载 初识 通过命令启动 命令详...

  • Flask-Script 扩展

    通过使用Flask-Script扩展,我们可以在Flask服务器启动的时候,通过命令行的方式传入参数。而不仅仅通过...

  • flask-script笔记

    flask-script 使用 Flask-Script 的作用是可以通过命令行的方式来操作 Flask。例如通过...

  • 3.8 Flask-Script

    Flask-Script: Flask-Script的作用是可以通过命令行的形式来操作Flask。例如通过命令跑一...

  • Flask 常用库整理

    flask-script 为 Flask 提供强大的命令行操作,与 Django shell 类似。 Flask-...

  • Flask插件与资源整理

    flask-script 支持命令行选相 使用示例 flask-bootstrap 集成Bootstrap fla...

  • Flask

    falsk-script插件 可以实现命令行参数接收 使用流程pip install flask-script初始...

  • 模板

    Day2 模板 一、flask-script扩展库 概述: 是一个flask终端运行解析器 因为在代码写完以后 ...

  • 模板 flask-script扩展库 蓝本

    一、flask-script扩展库 概述: 是一个flask终端运行解析器 因为在代码写完以后 就不需要有任何的...

网友评论

      本文标题:17. Flask-Script扩展命令行

      本文链接:https://www.haomeiwen.com/subject/ebmzbctx.html