加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Flask 简介

发布时间:2023-06-28 14:29:34 所属栏目:教程 来源:
导读:Python 中存在众多的 Web 开发框架:Flask、Django、Tornado、Webpy、Web2py、Bottle、Pyramid、Zope2 等。近几年较为流行的,大概也就是 Flask 和 Django 了。我们以这些 Web 开发框架作为关键字,在编程之家网中搜
Python 中存在众多的 Web 开发框架:Flask、Django、Tornado、Webpy、Web2py、Bottle、Pyramid、Zope2 等。近几年较为流行的,大概也就是 Flask 和 Django 了。我们以这些 Web 开发框架作为关键字,在编程之家网中搜索相关课程,查询到的课程数量如下所示:

Web 开发框架    相应的课程数量
Django    17
Flask    15
Tornado    2
其余的框架    0
由此可见,Django 和 Flask 确实是 Python 领域中最主流的两个 Web 开发框架,本节课我们就来介绍下 Flask 框架的特点,并简单了解下 Flask 与 Django 框架的优缺点对比。

1. Flask 简介

Flask 是一个轻量级的 Web 框架,使用 Python 语言编写,较其他同类型框架更为灵活、轻便且容易上手,小型团队在短时间内就可以完成功能丰富的中小型网站或 Web 服务的实现。

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

2. Flask 的特点
2.1 微框架
Flask 是一个 Python 实现的 Web 开发微框架,但是这个“微”并不代表着 Flask 功能比较简陋、有所欠缺。微框架中的 “微” 意味着:

Flask 旨在保持核心简单而易于扩展;
Flask 不会替用户做出太多决策,比如使用何种数据库;
Flask 的选项(比如使用何种模板引擎) 通常有多个,用户很容易替换。
默认情况下,Flask 不包含数据库抽象层、模板引擎、身份认证或其它任何已有多种库可以胜任的功能,如下图所示。然而,Flask 支持用扩展来给应用添加这些功能,应用程序可以很方便的集成这些扩展。众多的扩展提供了数据库集成、表单验证、上传处理、各种各样的开放认证技术等功能。

2.2 约定优于配置
设计不好的框架通常需要多个配置文件,每一个都有许多设置选项,程序员需要记忆大量的参数配置。

但是 Flask 遵循约定优于配置(Convention Over Configuration),也称作按约定编程是一种软件设计范式。目的在于减少软件开发人员所需要做出的决定的数量,从而将开发变得简单,而又不失去其中的灵活性,开发人员仅仅需要规定应用中不符合约定的部分。

Flask 存在有众多的配置选项,但是在初始状况下,它们都有一个常用的默认值,并会遵循一些惯例。 例如:按照惯例,模板和静态文件分别存储在应用 Python 源代码树下的子目录 templates 和 static 里。虽然这个配置可以修改,但通常不必这么做,尤其是在刚开始学习的时候。

3. Django 简介
Django 是一个开放源代码的 Web 应用框架,由 Python 写成,它最初是被开发来用于管理一些以新闻内容为主的网站,即是CMS(内容管理系统)软件。

Django 是一个遵循 MVC 设计模式的框架。MVC 是 Model、View、Controller 三个单词的简写,分别代表模型、视图、控制器。Django 也是一个 遵循 MVC 设计模式的框架。MTV 是 Model、Template、View 三个单词的简写,分别代表模型、模版、视图 。

4. Django 的特点
Django 是一个 Python 实现的 Web 开发重框架。重框架中的 “重” 意味着,Django 除了实现 Web 框架的基本功能,内置了大量的模块,Django 的架构如下所示:

与 Flask 的架构相比,两者的区别很明显:

Flask 仅包含最核心的框架功能,没有集成数据库访问、模板引擎等功能;
Django 不仅包含最核心的框架功能,还包含了数据库访问、模板引擎等功能。
Django 集成的功能模块包括:

对象关系映射 (ORM, Ojbect Relation Model)

以 Python 类形式定义数据模型,ORM 将模型与关系数据库关联,得到一个非常容易使用的数据库 API,同时也可以在 Django 中使用原始的 sql 语句访问数据库。

表单处理

可以方便的生成各种表单模型,实现表单的有效性检验,可以方便的从定义的模型实例生成相应的表单。

模板引擎

Django 模板用于编写 html 代码,更快更方便的完成页面开发,再通过在视图中渲染模板,将生成最终的 html 字符串返回给客户端浏览器。

后台管理系统

Django 自带一个 ADMIN site,类似于内容管理系统,不需要再花大量的工作来创建用户和内容管理系统。
 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章