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

相关推荐
wyiyiyi2 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
mit6.8242 小时前
[1Prompt1Story] 滑动窗口机制 | 图像生成管线 | VAE变分自编码器 | UNet去噪神经网络
人工智能·python
没有bug.的程序员2 小时前
JVM 总览与运行原理:深入Java虚拟机的核心引擎
java·jvm·python·虚拟机
甄超锋2 小时前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
AntBlack3 小时前
不当韭菜V1.1 :增强能力 ,辅助构建自己的交易规则
后端·python·pyqt
杜子不疼.5 小时前
《Python学习之字典(一):基础操作与核心用法》
开发语言·python·学习
myzzb6 小时前
基于uiautomation的自动化流程RPA开源开发演示
运维·python·学习·算法·自动化·rpa
TLuoQiu6 小时前
小电视视频内容获取GUI工具
爬虫·python
我叫黑大帅6 小时前
【CustomTkinter】 python可以写前端?😆
后端·python
胡耀超6 小时前
DataOceanAI Dolphin(ffmpeg音频转化教程) 多语言(中国方言)语音识别系统部署与应用指南
python·深度学习·ffmpeg·音视频·语音识别·多模态·asr