首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Flask-Script扩展命令行

Flask-Script扩展命令行

作者头像
Devops海洋的渔夫
发布2019-12-20 10:46:37
1K0
发布2019-12-20 10:46:37
举报
文章被收录于专栏:Devops专栏Devops专栏Devops专栏

介绍

在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和端口号的启动方式,如下:

F:\pythonProject\flask-ex>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,如下:

F:\pythonProject\flask-ex>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>])
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
    • Flask-Script扩展
      • 完整示例代码
        • 使用命令行启动flask
          • 指定IP和端口号命令行启动flask
            • 执行flask的交互shell模式
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档