Django为何是Python开发最流行的Web框架【转】

Python开发人员有大量的框架可供选择来用于他们的Web项目。不过,如今Django毫无疑问已成为世界上Python开发人员中最流行的Web框架。本w未来谈谈Python开发人员为何喜欢Django而不是其余流行的Python Web框架,如Flask,Pyramid,Tornado,Bottle,Diesel,Pecan,Falcon等等。html

在谈论Django以前,让咱们先简单了解一下什么是Web框架前端

Web框架是一个代码库,能让开发人员更容易构建动态网站,Web应用程序和Web服务。众所周知,每一个网站都有一个经常使用的功能(如处理会话,数据验证等),每次建立网站时都须要从新编写这些代码。这个过程是很是平淡乏味。然而,使用Web框架能够解决您每次建立网站时从新编写经常使用功能的尴尬处境,从而实现更快的开发。简而言之,Web框架能够简化Web开发过程。vue

为何Django是Python开发者的最佳Web框架python

 

Django是以Python编写的高级,MVC风格的开源库。 Django也被称为“完美主义者的最后框架”,它最初是为新闻网站设计的,而且容许开发人员编写数据库驱动Web应用程序,所以无需从头开始编码。数据库

除了更快完成常见的Web开发任务,Django还能使设计过程干净务实。 Django是新的Python Web开发人员的最佳选择,其官方文档和教程是软件开发中最好的。django

在技术市场充斥着一系列网络框架,但Django一直是最受欢迎的服务器端Web框架。设计Django最初的缘由是:不要重复造轮子。 Django是用Python编写的,经过最小化编写代码来提升效率,再加上云平台的支持,使Django成为Web开发者最受欢迎的选择。

api

Django的主要特色

安全

一、Django配有“Batteries-Included"服务器

 

Django基于“Batteries-Included”的理念,可没必要使用单独的库来实现常见功能,例如身份验证,URL路由,模板系统,对象关系映射器(ORM)和数据库模式迁移。若是您正在使用或使用Flask,您必须注意到它要求一个单独的库,如用Flask-Login来执行用户身份验证,而 Django没必要这样作。网络

二、免费API

使用Django,能够根据您的模型生成Python API,不须要额外的编码就可以生成API了。

三、独特的管理界面

 

即便在网站彻底构建以前,您也能够从外部贡献者的网站上获取有关信息,这就是Django的优势。该框架使您可以快速轻松地从应用程序的模型中建立一个管理站点。

四、代码布局

与大多数Web框架相反,Django经过使用称为application的东西,更容易地将新功能插入到产品中。所以,开发人员一直被鼓励编写自包含的代码。

五、Django的ORM专一于数据库

 

Django的对象关系映射器(ORM)负责处理数据库,因此没有处理结构化查询语言(SQL)那样的麻烦,它主要用于查询数据库所需的数据。与许多经过SQL直接在数据库上工做的Python框架不一样,Django开发人员有一个独特的工具来操纵相应的Python模型对象。 Django经过使用PostgreSQL,MySQL,SQLite和Oracle等关系数据库管理系统来实现开箱即用的功能。

六、强大的内置模板系统

基于继承系统,Django的模板容许开发人员从很是少许的前端代码构建整个动态网站,经过使用上下文特定元素来替换模板的某些元素选项。想象一下,你知道你网站的每一个页面都会有一个页眉和一个页脚。如今,您首先须要在网站的基本模板中编写代码。而后,您能够从应用程序的其余部分动态地更改这两个内容之间的组件。

七、简单可读的URL

通常来讲,很难正确阅读在PHP os ASP中开发的URL。使用Django,您能够建立简单易读的URL,这对人和搜索引擎都有好处。您也可使用其余框架建立可读URL,但没有一个与Django同样容易进行URL构造。

八、快速启动,轻松建立RSS和Atom订阅源

使用Django,您能够经过建立一个简单的Python类来快速,轻松地建立RSS和Atom 订阅源。

九、自动建立数据库中的表

若是数据库中缺乏表,能够经过在Django中执行migrate命令来自动建立表

十、轻松的数据库迁移

Django最有用的功能之一就是数据库迁移。使用Django的迁移,您能够快速更改数据库模式,跟踪您的数据库模式以及进行相关更改。迁移名称有助于管理版本控制,而且可使用多种选项来合并版本并进行修改。

十一、安全

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 

译者:天高

相关文章
相关标签/搜索