博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2.5 Flask扩展
阅读量:4095 次
发布时间:2019-05-25

本文共 1422 字,大约阅读时间需要 4 分钟。

—————————————————————————前言——————————————————————————

Flask被设计为可扩展形式, 只提供了web程序必备的核心功能,故没有提供一些重要功能, 如数据库和用户认证。

这样的好处是开发者可以只有自由选择合适的包。

社区人员开发了大量不同用途的扩展, 本节就来讲解如何把扩展整合到程序中。

———————————————————————————————————————————————————

接下来我们将在hello.py中添加一个扩展, 

还记得那行代码吗? app.run(debug=True) #启动服务器进入轮询   Flask的开发Web服务器支持很多启动选项设置, 但只能在脚本中作为参数传给app.run()函数, 这种方式并不灵活方便。传递设置选项的理想方式是使用命令行参数。

一.Flask-Script是一个Flask扩展, 为Flask程序添加了一个命令行解析器, 下面我们来介绍如何把该扩展整合到程序中:

1.使用pip安装Flask-Script扩展:

    

2. 修改hello.py:

from flask.ext.script import Managermanager = Manager(app)#...if __name__ == '__main__':    manager.run()
专为Flask开发的扩展都在flask.ext包里面。

这个扩展的初始化方法也适用于其它很多扩展: 把程序实例作为参数传给构造函数, 初始化主类的实例。 该例中服务器由manager.run()启动, 启动以后就能解析命令行了。

3. 第二点只是理论讲解, 实际操作中我们只需要从版本库中签出2c版本就可以:

    

二.经过以上三步扩展就整合到程序里了, 下面介绍扩展用法:

1. 运行hello.py:

    

shell 命令: 在程序上下文中启动Python shell会话。 可是使用这个会话运行维护任务, 调试异常。

        举例:我们来测试一下上节查看url映射:

    

        我们可以看到, 和上节比较, 我们没有导入app, 也没有推送上下文。

runserver命令:启动Web服务器。 

    &python hello.py runserver  #以调试模式启动服务器

    查看更多选项:

             &python hello.py runserver --help

        

--host参数是个很有用的选项, 它告诉web服务器在哪个网络接口上监听来自客户端的连接。

    1)默认情况下, Flask开发Web服务器监听localhost上的连接, 所以只接受来自服务器所在计算机发起的连接。 

    2)下述命令让Web服务器监听公共网络接口上的连接, 允许同网络中的其它计算机连接服务器:

    

        现在, Web服务器可使用http://a.b.c.d:5000/网络中的任意一台电脑进行访问, 其中a.b.c.d是服务器所在计算机的外网ip地址。

在这里我有个问题, 请知道的朋友给我留言:

    在我执行python hello.py runserver --host 0.0.0.0后, 按书上的说法是同网络中的其他计算机也可以连接服务器, 但是我只有在虚拟机中的浏览器地址栏输入127.0.0.1:5000的时候有响应,  在我笔记本上和手机上都没有响应, 但是连接的网络都是我家wifi,这不叫同网络吗? 请帮我解答一下谢谢。

    

你可能感兴趣的文章
最小费用最大流 修改的dijkstra + Ford-Fulksonff算法
查看>>
最小费用流 Bellman-Ford与Dijkstra 模板
查看>>
实现高性能纠删码引擎 | 纠删码技术详解(下)
查看>>
scala(1)----windows环境下安装scala以及idea开发环境下配置scala
查看>>
zookeeper(3)---zookeeper API的简单使用(增删改查操作)
查看>>
zookeeper(4)---监听器Watcher
查看>>
zookeeper(2)---shell操作
查看>>
mapReduce(3)---入门示例WordCount
查看>>
hbase(3)---shell操作
查看>>
hbase(1)---概述
查看>>
hbase(5)---API示例
查看>>
SSM-CRUD(1)---环境搭建
查看>>
SSM-CRUD(2)---查询
查看>>
SSM-CRUD (3)---查询功能改造
查看>>
Nginx(2)---安装与启动
查看>>
springBoot(5)---整合servlet、Filter、Listener
查看>>
C++ 模板类型参数
查看>>
C++ 非类型模版参数
查看>>
设计模式 依赖倒转原则 & 里氏代换原则
查看>>
DirectX11 光照
查看>>