大数跨境

每周一喂 | PythonWEB框架之Flask

每周一喂 | PythonWEB框架之Flask 河北镌远网络科技有限公司
2020-02-11
1
导读:每周一喂 | PythonWEB框架之Flask

Flask是一个微框架(micro framework

微(Micro)是什么意思?

“微”(micro)并不意味着你要把整个web应用放到一个python文件里(虽然确实可以),也不意味着Flask在功能上有所欠缺。微框架中的“微”意味着Flask旨在保持核心功能的简单而易于扩展。Flask不会替你做出太多决策,比如使用何种数据库。而那些Flask帮你做好的决策(比如使用哪种模板引擎),都是很容易替换。除此之外的一切都由你掌握。
Flask尽量避免重复制造轮子,而是与已有的优秀轮子去结合,这使得Flask灵活、强大、且定制性更强。
Flask配置选项众多,均设置了合理的默认值,并会遵循一些惯例;配置项均可以修改,但通常没必要修改,尤其是刚开始的时候。这使得Flask易于上手。
  • Flask和DjangoGitHubstar数量最多的2Python web框架

  • Flask和Django各有优劣,下面是两个框架的比较。

1、Flask

Flask 自由、灵活、可扩展性强第三方库的选择面广,开发时可以结合自己最喜欢用的轮子,也能结合最流行最强大的Python
  • 入门简单,即便没有多少web开发经验,也能很快做出网站

  • 非常适用与小型网站

  • 非常适用于开发web服务API

  • 开发大型网站无压力,但代码架构需要自己设计,开发成本取决于开发者的能力和经验

  • 各方面性能均等于或优于Django

  • Django自带的或第三方的好评如潮的功能,Flask上总会找到与之类似第三方库

  • Flask灵活开发,Python高手基本都会喜欢Flask,但对Django却可能褒贬不一

  • Flask与关系型数据库的配合使用不弱于Django,而其与NoSQL数据库的配合远远优于Django

  • FlaskDjango更加Pythonic,与Pythonphilosophy更加吻合

2、Django

Django太重了,除了web框架,自带ORM和模板引擎,灵活和自由度不够高

Django能开发小应用,但总会有杀鸡焉用牛刀的感觉

Django的自带ORM非常优秀,综合评价略高于SQLAlchemy

Django自带的模板引擎简单好用,但其强大程度和综合评价略低于Jinja

Django自带ORM也使Django与关系型数据库耦合度过高,如果想使用MongoDBNoSQL数据,需要选取合适的第三方库,且总感觉Django+SQL才是天生一对的搭配,Django+NoSQL砍掉了Django的半壁江山

Django目前支持Jinja等非官方模板引擎

Django自带的数据库管理app好评如潮

Django非常适合企业级网站的开发:快速、靠谱、稳定

Django成熟、稳定、完善,但相比于FlaskDjango的整体生态相对封闭

DjangoPython web框架的先驱,用户多,第三方库最丰富,最好的Python库,如果不能直接用到Django中,也一定能找到与之对应的移植

Django上手也比较容易,开发文档详细、完善,相关资料丰富

接下来我们只需要简单的几行代码就能搭建一个网站

首先我们创建一个Flask的实例(如上面的app),调用run()方法,网站即可访问。

@app.route(‘/’)设置网站的url路由,下面的函数实现了访问该url时要运行的功能

命令行窗口访问请求连接记录

浏览器访问对应的路径以及端口号即可进行交互

Flask 常用库详情

Flask-script

为Flask提供强大的命令行操作

Flask-login

Flask user session 管理,提供诸如login_user, logout_user, login_required, current_user等功能,也是其他很多Flask库的基础

Flask-admin

Flask应用提供操作简单且易于扩展的数据库管理界面

Flask-WTF

FlaskWTForms的集成,提供强大的Form安全和校验机制,与Django内置的Form功能类似。

Flask-principal

Flask强大的权限管理机制,灵活性强,提供了一个权限管理的基础框架,是很多Flask权限相关扩展基础

Flask-restful

一个强大的Flask RESTful框架,简单好用。

Flask-api

另一个强大的Flask RESTful框架。

Flask-Mail

Flask-Mail为Flask应用添加SMTP邮件发送功能

Flask-User

Flask-User集成了用户管理相关功能,并允许对功能做定制性修改,其相关功能包括Register, Confirm email, Login, Change username, Change password, Forgot password等。

Flask是python的web框架,最大的特征是轻便,让开发者自由灵活的兼容要开发的feature。它由 Armin Ronacher 开发,他领导一个名为Pocco的国际Python爱好者团队。

关于我们:

河北镌远网络科技有限公司(Hebei JYCYBER TechnologyCo.,Ltd.)是一家集人才、技术和经验于一体的,提供全面网络安全解决方案的专业服务商。镌远科技致力于为各行业的网络安全需求提供软件研发和通用解决方案,业务领域主要包括基础服务、咨询业务、产品研发和安全培训四大版块,各版块相互独立又相辅相成,完美阐释了“专业服务、全程服务、延伸服务”的服务体系和“单一业务与长远目标相融合”的服务理念。

关注镌远科技,关注网络安全!

河北分公司:河北镌远网络科技有限公司

地址:河北省邯郸市丛台区中华北大街193号慧谷大厦14层

总公司:北京冠程科技有限公司

地址:北京市昌平区科技园区东区产业基地企业墅上区一号楼九单元四层

实训基地:河北省石家庄市电子信息学校冠程科技研究与实训中心


欢迎扫描关注我们,及时了解更多关于网络安全相关知识



【声明】内容源于网络
0
0
河北镌远网络科技有限公司
河北镌远网络科技有限公司是一家集人才、经验、技术于一体的,提供全面系统集成解决方案的专业IT服务商。公司致力于为各个行业的业务信息化提供软件和通用解决方案、系统架构,系统管理和数据安全服务、以及IT咨询规划、系统集成与系统服务等专业化服务。
内容 0
粉丝 0
河北镌远网络科技有限公司 河北镌远网络科技有限公司是一家集人才、经验、技术于一体的,提供全面系统集成解决方案的专业IT服务商。公司致力于为各个行业的业务信息化提供软件和通用解决方案、系统架构,系统管理和数据安全服务、以及IT咨询规划、系统集成与系统服务等专业化服务。
总阅读0
粉丝0
内容0