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

相关推荐
_一条咸鱼_22 分钟前
Python 数据类型之可变与不可变类型详解(十)
人工智能·python·面试
_一条咸鱼_23 分钟前
Python 入门之基本运算符(六)
python·深度学习·面试
_一条咸鱼_25 分钟前
Python 流程控制之 for 循环(九)
人工智能·python·面试
_一条咸鱼_28 分钟前
Python 语法入门之流程控制 if 判断(七)
人工智能·python·面试
_一条咸鱼_28 分钟前
Python 流程控制之 while 循环(八)
人工智能·python·面试
HtwHUAT1 小时前
实验四 Java图形界面与事件处理
开发语言·前端·python
Tech Synapse1 小时前
基于Surprise和Flask构建个性化电影推荐系统:从算法到全栈实现
python·算法·flask·协同过滤算法
麦麦大数据1 小时前
vue+flask+CNN电影推荐系统
pytorch·python·cnn·flask·scikit-learn·电影推荐
終不似少年遊*1 小时前
国产之光DeepSeek架构理解与应用分析04
人工智能·python·深度学习·算法·大模型·ds