Django为什么是Python开发最流行的Web框架【转】
Python开发人员有大量的框架可供选择来用于他们的Web项目。不过,现在Django毫无疑问已成为世界上Python开发人员中最流行的Web框架。本w将来谈谈Python开发人员为什么喜欢Django而不是其他流行的Python Web框架,如Flask,Pyramid,Tornado,Bottle,Diesel,Pecan,Falcon等等。
在谈论Django之前,让我们先简单了解一下什么是Web框架
Web框架是一个代码库,能让开发人员更容易构建动态网站,Web应用程序和Web服务。众所周知,每个网站都有一个常用的功能(如处理会话,数据验证等),每次创建网站时都需要重新编写这些代码。这个过程是非常平淡乏味。然而,使用Web框架可以解决您每次创建网站时重新编写常用功能的尴尬处境,从而实现更快的开发。简而言之,Web框架可以简化Web开发过程。
为什么Django是Python开发者的最佳Web框架
Django是以Python编写的高级,MVC风格的开源库。 Django也被称为“完美主义者的最后框架”,它最初是为新闻网站设计的,并且允许开发人员编写数据库驱动Web应用程序,因此无需从头开始编码。
除了更快完成常见的Web开发任务,Django还能使设计过程干净务实。 Django是新的Python Web开发人员的最佳选择,其官方文档和教程是软件开发中最好的。
在技术市场充斥着一系列网络框架,但Django一直是最受欢迎的服务器端Web框架。设计Django最初的原因是:不要重复造轮子。 Django是用Python编写的,通过最小化编写代码来提高效率,再加上云平台的支持,使Django成为Web开发者最受欢迎的选择。
Django的主要特点
1、Django配有“Batteries-Included"
Django基于“Batteries-Included”的理念,可不必使用单独的库来实现常见功能,例如身份验证,URL路由,模板系统,对象关系映射器(ORM)和数据库模式迁移。如果您正在使用或使用Flask,您必须注意到它要求一个单独的库,如用Flask-Login来执行用户身份验证,而 Django不必这样做。
2、免费API
使用Django,可以根据您的模型生成Python API,不需要额外的编码就能够生成API了。
3、独特的管理界面
即使在网站完全构建之前,您也可以从外部贡献者的网站上获取有关信息,这就是Django的优点。该框架使您能够快速轻松地从应用程序的模型中创建一个管理站点。
4、代码布局
与大多数Web框架相反,Django通过使用称为application的东西,更容易地将新功能插入到产品中。因此,开发人员一直被鼓励编写自包含的代码。
5、Django的ORM专注于数据库
Django的对象关系映射器(ORM)负责处理数据库,所以没有处理结构化查询语言(SQL)那样的麻烦,它主要用于查询数据库所需的数据。与许多通过SQL直接在数据库上工作的Python框架不同,Django开发人员有一个独特的工具来操纵相应的Python模型对象。 Django通过使用PostgreSQL,MySQL,SQLite和Oracle等关系数据库管理系统来实现开箱即用的功能。
6、强大的内置模板系统
基于继承系统,Django的模板允许开发人员从非常少量的前端代码构建整个动态网站,通过使用上下文特定元素来替换模板的某些元素选项。想象一下,你知道你网站的每个页面都会有一个页眉和一个页脚。现在,您首先需要在网站的基本模板中编写代码。然后,您可以从应用程序的其他部分动态地更改这两个内容之间的组件。
7、简单可读的URL
一般来说,很难正确阅读在PHP os ASP中开发的URL。使用Django,您可以创建简单易读的URL,这对人和搜索引擎都有好处。您也可以使用其他框架创建可读URL,但没有一个与Django一样容易进行URL构造。
8、快速启动,轻松创建RSS和Atom订阅源
使用Django,您可以通过创建一个简单的Python类来快速,轻松地创建RSS和Atom 订阅源。
9、自动创建数据库中的表
如果数据库中缺少表,可以通过在Django中执行migrate命令来自动创建表
10、轻松的数据库迁移
Django最有用的功能之一就是数据库迁移。使用Django的迁移,您可以快速更改数据库模式,跟踪您的数据库模式以及进行相关更改。迁移名称有助于管理版本控制,并且可以使用多种选项来合并版本并进行修改。
11、安全
Django是高度安全的。该框架具有针对XSS攻击,CSRF攻击,SQL注入,点击劫持,用户管理,Cookie,电子邮件标题注入,加密,目录遍历等的默认保护。
中文转载自 http://mp.weixin.qq.com/s/B1_qrQEztDcjAqGc1HomZg
英文原文:http://evontech.com/what-we-are-saying/entry/why-django-is-the-best-framework-for-python-developers.html
译者:天高