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很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。

相关推荐
飞Link6 小时前
什么是 AirSim?一文读懂无人机仿真平台
python·算法·无人机
曲径海盗7 小时前
【Python 学习第 38 天】for 循环
python·学习笔记·编程入门
在世修行7 小时前
智学文枢:变式题生成引擎
python·ai·pyside·题目生成
On The Road :9 小时前
Java 多线程详解:从入门到线程安全
java·python·安全
岁月宁静9 小时前
如何设计支持 Skills 的 Agent?一套可扩展的四层架构
python·agent
岁月宁静9 小时前
CrewAI 快速上手:10 分钟搭建你的第一个 Agent 团队
python·agent
曲径海盗10 小时前
【Python 学习第 40 天】for 循环
python·学习笔记·编程入门
专注仿真10 小时前
知识问答大模型-rag算法详解
人工智能·python·控制算法
染指111010 小时前
158.Agent-LangGraph-子图(共享状态和不共享状态模式)
开发语言·人工智能·python·ui·agent·agents
云和数据.ChenGuang12 小时前
Python 常见特殊方法详解:__new__、__init__、__del__、__str__、__repr__ 与 __getattribute__
开发语言·人工智能·python·1024程序员节