02_Flask是什么?

一、视频教程

02_Flask是什么

二、Flask简介

Flask 框架诞生于2010 年,是由 Armin 使用 Python 语言基于 Werkzeug 工具箱编写的轻量级Web开发框架。Armin 是 Python 编程语言的核心开发者之一,同时也是 Flask 项目的主要贡献者。

Flask主要依赖于两个核心库:Werkzeug(用于路由和WSGI 工具)和 Jinja2 (模板引擎),旨在帮助开发者快速、简便地创建 Web 应用。

WSGI的全称是Web Server Gateway Interface,翻译过来就是Web服务器网关接口。具体的来说,WSGI是一个规范,定义了Web服务器如何与Python应用程序进行交互,使得使用Python写的Web应用程序可以和Web服务器对接起来。

Jinja2 是Flask原生支持的唯一模板引擎,当然你也可以使用 Flask 扩展的其他模板引擎。Jinja2 有丰富的过滤系统、强大的自动转义功能、有一定的模板继承能力、支持从模板内或者Python 代码内复用块(宏)、支持迭代模板渲染以及可配置语法等等。

Flask被称为"微框架"(microframework),因为它使用简单的核心,用扩展增强其他功能。"微"并不代表整个应用只能塞在一个 Python 文件内, "微"也不代表 Flask 功能不强,微框架中的"微"字表示 Flask 的目标是保持核心简单而又可扩展。Flask 不包含数据库抽象层、表单验证或者其他已有的库可以处理的东西。然而, Flask 通过扩展为应用添加这些功能,就如同这些功能是 Flask 原生的一样。大量的扩展用以支持数据库整合、表单验证、上传处理和各种开放验证等等。

官方文档:Welcome to Flask --- Flask Documentation (3.1.x)

中文文档:欢迎来到 Flask 的世界 --- Flask中文文档(3.1.x)

目前Python的web框架有很多,除了Flask,还有django、Web2py等等。其中Django是目前Python的框架中使用度最高的。但是Django多被用于大型网站的开发,但对于大多数的小型网站的开发,使用Flask就可以满足,和其他的轻量级框架相比较,Flask框架有很好的扩展性,这是其他Web框架不可替代的。

三、MVT设计模式

Flask是一个基于MVT设计模式的Web后端框架

MVC与MVT设计模式的对比:

四、Flask的特点

4.1 轻量级和灵活性‌

Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全。开发人员便于分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。

4.2 易于上手‌

Flask的API设计简洁,文档齐全,对新手非常友好,能够快速上手。

‌4.3 强大的社区和插件库‌

Flask拥有一个活跃的社区和丰富的插件库。Flask很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。

相关推荐
兵慌码乱2 小时前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
luckdewei5 小时前
FastAPI 资产管理系统实战:复杂 ORM 关联、Alembic 迁移与 N+1 查询优化
python
aqi0011 小时前
15天学会AI应用开发(八)使用向量数据库实现RAG功能
人工智能·python·大模型·ai编程·ai应用
Csvn12 小时前
`functools.lru_cache` —— 一行代码搞定缓存加速
后端·python
金銀銅鐵1 天前
[Python] 从《千字文》中随机挑选汉字
后端·python
cup111 天前
[技术复盘] Windows Python 打包实战:Nuitka 环境踩坑总结与 CI 自动化构建全指南
python·ai·环境变量·ci·nuitka·skill
aqi001 天前
15天学会AI应用开发(七)有了大模型为什么还要引入RAG
人工智能·python·大模型·ai编程·ai应用
金銀銅鐵2 天前
用 Python 实现 Take-Away 游戏
python·游戏