一个用Python编写的轻量的Web开发框架——Flask

技术百科 admin 发布时间:2024-04-25 浏览:38 次

本文将继续为大家介绍一个轻量的Web开发框架——Flask。

可能有同学会问,前面不是已经介绍了FastAPI吗?有必要学习这么多框架吗?其中缘由,听我娓娓道来。

什么是FlaskFlask

Flask是一个用Python编写的轻量的Web应用程序框架,基于Werkzeug WSGI工具包和Jinja2模板引擎。Flask 也被称为 “microframework”,因为它使用简单的核心,用 extension 增加其他功能。

Flask 没有默认使用的数据库、窗体验证工具。然而,Flask 保留了扩增的弹性,可以用 Flask-extension 加入这些功能:ORM、窗体验证工具、文件上传、各种开放式身份验证技术。

简单说,Flask本身是微型的,但是具备极强的扩展能力以便完成复杂的任务。

相较于FastAPI为编写高性能的API而生,Flask则是在保持轻量的同时增加了对前端页面的渲染等能力。

Flask具备哪些特性

内置开发用服务器和 debugger

集成单元测试(unit testing)

RESTful request dispatching

使用 Jinja2 模板引擎

支持 secure cookies(client side sessions)

100% WSGI 1.0 兼容

Unicode based

详细的文件、教学

Google App Engine 兼容

可用 Extensions 增加其他功能

哪些场景可以用FlaskWeb开发

如果您需要用Python开发一个网站,那么Flask可以作为首选框架之一。如果只是一个简单的项目,那么Flask会很合适。如果是一个大型的项目,则需要随着开发经验的增加,熟悉的扩展越来越多,也就会越来越得心应手。

AI领域

你可能想不到,Flask在AI领域也是功不可没。我们的关注点大多数都在模型上面,但是通常开源模型的同时也会提供一个Demo,供大家快速上手体验。这时Demo的实现就需要用到轻量的Flask同时实现前后端。

函数计算

函数计算可以理解成一个个小的web服务,用于处理我们的业务逻辑,而函数计算的实现也是很大程度上借鉴了Flask,所以使用函数计算会觉得无比亲切。

函数计算是一个事件驱动的全托管 Serverless 计算服务,用户无需管理服务器等基础设施,只需编写代码并上传,函数计算会准备好计算资源,并以弹性、可靠的方式运行业务代码。

快速开始:一个最小的应用

安装Flaskpip install Flask

创建app.py文件,编写一个最小的应用from flask import

 Flask

app = Flask(__name__)

@app.route("/")def hello_world():    return "<H1 style=color: red;>Hello, World!</H1>"启动服务

在与app.py同目录下执行命令:

flask run

看到如下提示就说明服务启动成功了。

启动访问

按照提示,在浏览器中打开http://127.0.0.1:5000,则可以看到如下效果

hello world

到此,一个简单的web我们就体验完成了。但是有几点需要特别强调一下。

文件名不需要一定是app.py,如果是其它,比如:hello.py,则在启动服务的时候,启动命令需要修改为:flask --app hello run,用--app指定应用名。

当你修改了代码后,重新刷新浏览器,你会发现页面没有变化。这是因为需要我们开启DEBUG模式,这样每当代码发生改变后服务都会自动重启,我们刷新浏览器也就可以看到变化了。开启DEBUG模式也很简单,把启动命令修改为:flask run --debug

进阶

如果你对Flask已经产生了浓厚的兴趣,那么建议您可以阅读详细、完整的官方文档。

官方文档目前只有英文版,想要阅读中文版的同学,可以关注我,回复:Flask,获取Flask中文文档。

关注我,学习开源技术:

飞桨PPDB

在线咨询

点击这里给我发消息售前咨询专员

点击这里给我发消息售后服务专员

在线咨询

免费通话

24h咨询:400-888-8888


如您有问题,可以咨询我们的24H咨询电话!

免费通话

微信扫一扫

微信联系
返回顶部