Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。

Flask应用场景 - 小规模、低复杂度的项目。 - 集成机构学习或深度学习应用。 - 无服务器的计算。 - 无数据库或 NoSQL数据库服务。 - 静态或 RESTful web 服务。
Django.VS.Flask框架
Django和Flask都是免费的,开源的,基于Python的Web框架,旨在构建Web应用程序。
Django更成熟、更稳定、更完善,但是Django的整体生态相对是封闭的。另外,Django算是重量级框架了,除了web框架,自带ORM和模板引擎,灵活和自由度不够高。
Flask更自由、更灵活,可扩展性强,第三方库的选择面广,开发时可以结合自己最喜欢用的轮子,也能结合最流行最强大的Python库,入门简单,即便没有多少web开发经验,也能很快做出网站。
第一个Flask应用
以pycharm为例,我们来创建第一个Flask应用。
1).选择新建Flask项目。

2).编写app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world(): # put application's code here
return 'Hello World!'
if __name__ == '__main__':
app.run()
3).启动服务器

4).修改端口和热部署
热部署技术在web开发中应用很广泛,设想,你正在编写一个服务,每写完一段代码,都需要进行调试,有时仅仅是修改了一行代码,如果为了测试代码,不停的重启服务,着实让人烦恼。
在pycharm中,我们可以通过修改配置实现修改端口和热部署。

也可以通过修改run方法实现。
if __name__ == '__main__':
app.run(host="127.0.0.1", port=8080, debug=True)
在上面的示例中,'/ ' URL与hello_world()函数绑定。因此,当在浏览器中打开web服务器的主页时,将呈现该函数的输出。
最后,Flask类的run()方法在本地开发服务器上运行应用程序。
app.run(host, port, debug, options)
| 参数 | 说明 |
|---|---|
| host | 要监听的主机名。 默认为127.0.0.1(localhost)。设置为“0.0.0.0”以使服务器在外部可用 |
| port | 默认值为5000 |
| debug | 默认为false。 如果设置为true,则提供调试信息 |
| options | 要转发到底层的Werkzeug服务器。 |