Flask框架

Flask介绍

Flask是一个用Python编写的Web应用程序框架。 它由Armin Ronacher开发,他领导着一个名为Pocco的Python爱好者的国际组织。Flask的核心在于Werkzeug(路由模块),Jinja2模板引擎

类比Django:路由、模板、ORM

Flask要完成功能,依赖于丰富的插件(扩展模块)

WSGI

Web服务器网关接口(WSGI)已被采纳为Python Web应用程序开发的标准。 WSGI是Web服务器和Web应用程序之间通用接口的规范。

WERKZEUG

它是一个WSGI工具包,它实现了请求,响应对象和其他实用程序功能。 这可以在其上构建Web框架。 Flask框架使用Werkzeug作为其一个基础模块之一。

Jinja2

jinja2是Python的流行模板引擎。 网页模板系统将模板与特定的数据源结合起来呈现动态网页。

Flask通常被称为微框架。 它旨在保持应用程序的核心简单且可扩展。 Flask没有用于数据库处理的内置抽象层,也没有形成验证支持。 相反,Flask支持扩展以将这些功能添加到应用程序中。

在谈Python中Django框架和Flask框架的区别时,我们需要先探讨如下几个问题:

1.为什么要使用框架?

为了更好地阐述这个问题,我们把开发一个应用的过程进行类比,往往开发一个应用(web应用、系统应用)跟建造房子的过程一样,需要先打地基,搭好骨架,然后一块砖一块砖叠上去。

而开发一个应用呢?同样也需要一个好的架构设计,数据库建模,然后一个模块一个模块使用代码实现。

如果开发一个软件应用不使用框架,和我们建房子时,每一块砖、每一根钢筋都需要自己生产出来本质上是一样的。

显而易见,如果在建造房子之前,每一块砖头、每一种建材,都需要我们自己去生产的话,建造房子的效率是极低的,

甚至可能一辈子也无法把房子建造好。

在开发应用系统时,使用框架可以带来如下好处

— 大大提升开发效率

— 让应用开发更加规范、拓展性更强

— 让程序员把更多的精力放在业务逻辑的实现上,而不是重复、而复杂的基础环境上(比如web服务器、底层实现等)

2.为什么使用Django和Flask框架?

在Python编程语言的世界里,功能最强大、最流行的两个框架。

不仅在web后端开发、微服务开发,同时在ERP系统开发、API接口开发等领域,这两个框架应用非常广泛。

3.Django和Flask的区别

形象类比

如果Django类似于精装修的房子,自带豪华家具、非常齐全功能强大的家电,什么都有了,拎包入住即可,十分方便。

而Flask类似于毛坯房,自己想把房子装修成什么样自己找材料,买家具自己装。材料和家具种类非常丰富,并且都是现成免费的,直接拿过去用即可。

在体量上的区别

Flask:

  • 小巧、灵活,让程序员自己决定定制哪些功能,非常适用于小型网站。

  • 对于普通的工人来说将毛坯房装修为城市综合体还是很麻烦的,使用Flask来开发大型网站也一样,开发的难度较大,代码架构需要自己设计,开发成本取决于开发者的能力和经验。

Django:

  • 大而全,功能极其强大,是Python web框架的先驱,用户多,第三方库极其丰富。

  • 非常适合企业级网站的开发,但是对于小型的微服务来说,总有“杀鸡焉有宰牛刀”的感觉,体量较大,非常臃肿,定制化程度没有Flask高,也没有Flask那么灵活。

4.在实际工作中如何选择这两个框架呢?

如果你想搞懂Python web开发WSGI协议原理以及实现过程、或者你想灵活定制组件,完全DIY你的应用、想实现微服务,那么建议你选择Flask。

如果你关注产品的最终交付、想快速开发一个大的应用系统(比如新闻类网站、商城、ERP等),那么建议你选择Django,你想得到的功能它都有,想不到的功能它也有。

5.如何才能学好框架呢?

需要先学习框架的基础知识、基本实现原理。

结合项目实践,提升编码能力和业务逻辑的理解。

翻看框架源码,深入理解源码精髓。(进阶)

虚拟环境搭建

virtualenvwrapper来创建、管理我们的虚拟环境

开发中,我们一个项目是要对应虚拟环境的

优点

1、使不同应用开发环境相互独立
2、环境升级不影响其他应用,也不会影响全局的python环境
3、防止出现包管理混乱及包版本冲突

windows

安装

# 建议使用pip安装到python环境下
pip install virtualenv
pip install virtualenvwrapper-win

配置

# 配置环境变量:
# 控制面板 => 系统和安全 => 系统 => 高级系统设置 => 环境变量 => 系统变量 => 点击新建 => 填入变量名与值
变量名:WORKON_HOME  变量值:自定义存放虚拟环境的绝对路径
eg: WORKON_HOME: C:\Virtualenvs
​
# 同步配置信息:
# 去向Python的安装目录 => Scripts文件夹 => virtualenvwrapper.bat => 双击

使用

# 在终端工作的命令
​
# 1、创建虚拟环境到配置的WORKON_HOME路径下
# 选取默认Python环境创建虚拟环境:
    -- mkvirtualenv 虚拟环境名称
# 基于某Python环境创建虚拟环境:
    -- mkvirtualenv 虚拟环境名称
    
​
# 2、查看已有的虚拟环境
    -- workon
​
# 3、使用某个虚拟环境
    -- workon 虚拟环境名称
    
# 4、进入|退出 该虚拟环境的Python环境
    -- python | exit()
​
# 5、为虚拟环境安装模块
    -- pip或pip3 install 模块名
​
# 6、退出当前虚拟环境
    -- deactivate
​
# 7、删除虚拟环境(删除当前虚拟环境要先退出)
    -- rmvirtualenv 虚拟环境名称

安装Flask

pip install Flask
Flask常用扩展包:
​
Flask-SQLalchemy:操作数据库;
Flask-script:插入脚本;
Flask-migrate:管理迁移数据库;
Flask-Session:Session存储方式指定;
Flask-WTF:表单;
Flask-Mail:邮件;
Flask-Bable:提供国际化和本地化支持,翻译;
Flask-Login:认证用户状态;
Flask-OpenID:认证;
Flask-RESTful:开发REST API的工具;
Flask-Bootstrap:集成前端Twitter Bootstrap框架;
Flask-Moment:本地化日期和时间;
Flask-Admin:简单而可扩展的管理接口的框架
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值