×

扫描二维码登录本站

标签: 暂无标签
众所周知, Django 是由Python 开发的一个免费的开源网站框架,可以用于快速搭建高性能,优雅的网站!。
        那么为什么会选择用Django作为蓝鲸DevOps的开发框架呢?
Python下各种框架简单对比
一个完整的Web应用框架包括下面功能的支持:

1.       服务发布
2.       URL分发
3.       模板支持
4.       数据库处理
Python框架一般都支持前3个方面,按对第4个功能的支持情况分类如下:
平台性框架:不依赖数据库,更关注服务的高效构建和运行平台的稳定。代表性框架:Zope和Twisted。
轻小型框架:认为数据库不是应用的必要因素,更关注友好快速的简单任务的开发。代表性框架:Cherry,Quixote和web.py,没有内置的数据库支持模块。
一站式框架:认为数据库是应用的重要因素,关注如何仅基于本身快速实现一个功能性网站。代表性框架:Django,TurboGears。
Django采用了MVC的软件设计模式,即模型M,视图V和控制器C。主要目标是使得开发复杂的、数据库驱动的网站变得简单。Django注重组件的重用性和“可插拔性”,敏捷开发和DRY法则(Don't Repeat Yourself)。在Django中Python被普遍使用,甚至包括配置文件和数据模型。
Django吸引人的特点
在Python各种web框架中,Django的文档最完善、市场占有率最高、招聘职位最多!
Django的优点
完美的文档。Django的成功,我觉得很大一部分原因要归功于Django近乎完美的官方文档(包括Djangobook)。
全套的解决方案。Django象Rails一样,提供全套的解决方案(full-stackframework + batteries included),基本要什么有什么(比如:cache、session、feed、orm、geo、auth),而且全部Django自己造,开发网站应手的工具Django基本都给你做好了,因此开发效率是不用说的,出了问题也算好找,不在你的代码里就在Django的源码里。
强大的URL路由配置。Django让你可以设计出非常优雅的URL,在Django里你基本可以跟丑陋的GET参数说拜拜。
自助管理后台。admin interface是Django里比较吸引眼球的一项contrib,让你几乎不用写一行代码就拥有一个完整的后台管理界面。
当然,近乎完美的优点也造就了缺陷(源自Django坚持自己造所有的轮子,整个系统相对封闭),比如:系统紧耦合,很难用第三方库来代替内置的某个功能;Python做配置文件,而不是传统的int、xml、yaml等,不能动态改变settings的值;Template功能比较弱,不方便插入Python代码处理复杂逻辑等。而其中最主要的是Template功能。
当Django遇见mako,这个缺陷迎刃而解。mako是Python的模板语言之一,简单快速,对模块化编程支持到位,能直接调用python代码。


小例子窥探mako技能:


      综上所述,蓝鲸选择用Django+mako来构建开发框架,为运维同仁带来简单、高效的蓝鲸DevOps实践方案。


小鲸原创





上一篇:运维与前端的相约
下一篇:体验全栈DevOps
monicazhang

写了 2297 篇文章,拥有财富 12859,被 21 人关注

您需要登录后才可以回帖 登录 | 立即注册
B Color Link Quote Code Smilies

成为第一个吐槽的人

Powered by ITIL  © 2001-2025
返回顶部