
Flask是一个微框架(micro framework)


微(Micro)是什么意思?
Flask和Django是GitHub上star数量最多的2个Python web框架
Flask和Django各有优劣,下面是两个框架的比较。

1、Flask
入门简单,即便没有多少web开发经验,也能很快做出网站
非常适用与小型网站
非常适用于开发web服务的API
开发大型网站无压力,但代码架构需要自己设计,开发成本取决于开发者的能力和经验
各方面性能均等于或优于Django
Django自带的或第三方的好评如潮的功能,Flask上总会找到与之类似第三方库
Flask灵活开发,Python高手基本都会喜欢Flask,但对Django却可能褒贬不一
Flask与关系型数据库的配合使用不弱于Django,而其与NoSQL数据库的配合远远优于Django
Flask比Django更加Pythonic,与Python的philosophy更加吻合

2、Django
Django太重了,除了web框架,自带ORM和模板引擎,灵活和自由度不够高
Django能开发小应用,但总会有“杀鸡焉用牛刀”的感觉
Django的自带ORM非常优秀,综合评价略高于SQLAlchemy
Django自带的模板引擎简单好用,但其强大程度和综合评价略低于Jinja
Django自带ORM也使Django与关系型数据库耦合度过高,如果想使用MongoDB等NoSQL数据,需要选取合适的第三方库,且总感觉Django+SQL才是天生一对的搭配,Django+NoSQL砍掉了Django的半壁江山
Django目前支持Jinja等非官方模板引擎
Django自带的数据库管理app好评如潮
Django非常适合企业级网站的开发:快速、靠谱、稳定
Django成熟、稳定、完善,但相比于Flask,Django的整体生态相对封闭
Django是Python web框架的先驱,用户多,第三方库最丰富,最好的Python库,如果不能直接用到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
Flask与WTForms的集成,提供强大的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等。
关于我们:
河北镌远网络科技有限公司(Hebei JYCYBER TechnologyCo.,Ltd.)是一家集人才、技术和经验于一体的,提供全面网络安全解决方案的专业服务商。镌远科技致力于为各行业的网络安全需求提供软件研发和通用解决方案,业务领域主要包括基础服务、咨询业务、产品研发和安全培训四大版块,各版块相互独立又相辅相成,完美阐释了“专业服务、全程服务、延伸服务”的服务体系和“单一业务与长远目标相融合”的服务理念。
关注镌远科技,关注网络安全!
河北分公司:河北镌远网络科技有限公司
地址:河北省邯郸市丛台区中华北大街193号慧谷大厦14层
总公司:北京冠程科技有限公司
地址:北京市昌平区科技园区东区产业基地企业墅上区一号楼九单元四层
实训基地:河北省石家庄市电子信息学校冠程科技研究与实训中心


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


