专栏首页python3网站后端_Python-网站开发.Pyt

网站后端_Python-网站开发.Pyt

简单说明:

1. 由于Python具有快速开发,多人协作,库丰富,社区成熟等优点,国内豆瓣/知乎/搜狐/果壳/饿了吗,国外YouTube/Reddit/Instagram/Pinterest/Bitbucket/Disqus/Dropbox等都相继将其作为主力开发语言,所以完全不用担心它的可靠性与性能问题,因为它已受了时间和大规模用户并发访问的考验

2. 很多人以为只要学会某个Web框架,能写代码查查数据库,能写模版渲染出HTML,最多再学习一下配个WebServer把服务跑起来就完事儿,然而并不是,要完成生产可用,能够应付一定规模访问量的Web系统,需要学会的远远不止这些,可能包括环境搭建,API设计,网站架构,系统管理,持续集成,服务化,数据处理,并发处理等等

版本选择:

说明: 编程重在编程思想和经验积累,2.x/3.x思想互通,所以无伤大雅,Arch Linux,Ubuntu 16.04 LTS,Fedora默认自带3.x版Python,官方已宣布2.x版将只会支持到2020年,但未来相当长时间,2.x依然存在

框架选择:

1. 选择更主流的框架,因为文档更全,技术积累更多,社区更繁荣,能得到更好的支持

2. 关注框架活跃情况,关注项目更新频率,如果很长时间没更新或一堆问题没解决则不该放于生产环境

3. 确认选择的框架能否满足需求,没有最好只有最合适,而且要为长远打算,避免推倒重来

4. 注意媒体时效性,可以参考网上建议但要注意发表时间,新的东西的产生必然有其产生的道理


Django:


优点: 其具有非常完备的官方文档,\提供一站式解决方案,包括缓存,ORM,管理后台,验证,表单处理等,使得开发复杂的数据库驱动的网站变得很简单

缺点: 一站式解决方案导致系统耦合性太高,替换内置功能往往需要花费一些功夫,学习曲线相对陡峭


Flask:


优点: 基于WerkZeug的WSGI+Jinja2实现的轻量级Web框架,Web应用的每个环节都有对应的扩展选择,可灵活选择或自定义,

缺点: 虽然可灵活选择或自定义,但缺少一站式解决方案的选择,其实已经有团队推出一站式解决方案ChiKi

说明: Flask的依赖都由Pocoo团队开发,团队其它知名项目还有Pygments,Sphinx,Lodgeit等


Pyramid:


优点: 性能比Flask高,,默认使用Chameleon和Mako模版,很容易切换到Jinja2甚至共存,通过文件后缀名来识别,豆瓣赞赏和豆瓣钱包就是基于此框架实现

缺点: 国内中文文档匮乏,其高级用户需要通过阅读源代码获取灵感


Bottle:


特色: 单文件,截至目前代码只有4100多行,而且所有代码只使用了标准库,而不需要依赖额外的第三方库,更符合微框架定义


Tornado:


特色: 由于其非阻塞及epll运用,速度相当快,每秒可处理数以千计的连接,适用于长轮询,WebSocket等实时的Web服务


Web.py:


特色: 使用基于类的视图,简单易学却功能强大


Klein:


特色: Django/Flask/Pyramid都是基于同步阻塞的WSGI接口,而它基于Werkzeug和Twisted.web实现的异步框架,而且语法和Flask非常相似


本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 宋宝华:用eBPF/bcc分析系统性能的一个简单案例

    bcc是eBPF的一种前端,当然这个前端特别地简单好用。可以直接在python里面嵌入通过C语言写的BPF程序,并帮忙产生BPF bytecode和load进入...

    Linux阅码场
  • 我总结的60页《Python之路.pdf》,都是干货!

    告别枯燥,通过学习有趣的小例子,扎实而系统的入门Python,从菜鸟到大师,个人觉得这是很靠谱的一种方法。通过一个又一个的小例子,真正领悟Python之强大,之...

    不可言诉的深渊
  • 提取bmp图片的颜色信息,可直接framebuffer显示(c版本与python版本)

    稍微了解了下linux的framebuffer,这是一种很简单的显示接口,直接写入像素信息即可

    zqb_all
  • 爬虫 (十三) 学习 python 基础知识点的正确姿势 (六)

    我会以比较学习的方式,主要拿Python和我之前学习的javascript进行比较,拿学习javascript的学习经历来迁移到学习Python,如果你在此之前...

    公众号---志学Python
  • 一步步打造自己的linux命令行计算器

    相信很多人,在工作中会需要使用到计算器。一般的做法是,打开并使用系统自带的计算器。

    zqb_all
  • Python 分析城市麦当劳数的多少

    前几天,小编跟着两个朋友,在深圳的商圈逛了逛,沿途看见了好几家麦当劳,他们两就随意的说了说,麦当劳数量有点多呢,到底是为什么呢?一个城市的麦当劳数量和什么有关呢...

    数据森麟
  • 实用教程!使用YOLOv3训练自己数据的目标检测

    昨天LearnOpenCV网站博主又发福利,post了一个清晰明了的教程,一步一步示例,如何使用快速实时的YOLOv3算法,训练某种特定类别目标的检测器。

    CV君
  • Python编程技巧:如何用Map, Filter, Reduce代替For循环?

    for 循环就像是一把瑞士军刀,它可以解决很多问题,但是,当你需要扫视代码,快速搞清楚代码所做的事情时,它们可能会让人不知所措。

    AI研习社
  • Mask R-CNN抢车位,快人一步!

    本文来自Medium上的一篇博文:Snagging Parking Spaces with Mask R-CNN and Python,使用Python与Mas...

    CV君
  • 用 Python 实现植物大战僵尸代码

    导读:以前很火的植物大战僵尸游戏,本想在网上找个Python版本游戏学习下,无奈没有发现比较完整的,那就自己来写一个吧。

    华章科技

扫码关注云+社区

领取腾讯云代金券