对于 Python 开发者来讲,web 开发框架真可谓玲琅满目。然而 Django , 毋庸置疑的成为最受青睐的 web 框架。经过本篇博客,我来为你们讲解下为何相比 Flask、Pyramid、Tornado、Bottle、Diesel、Pecan、Falcon 这些流行的 Python web 框架,Python 开发者更倾向于选择 Django。html
Web框架是一个代码库,使开发人员更容易构建动态网站、Web应用程序和Web服务。 众所周知的是,每一个网站都有一些通用的功能(如处理会话,数据验证等等),一些您每次建立网站时都须要编写的功能。 这使开发任务平淡乏味。 然而,使用Web框架可让您每次建立网站都须要从新编写通用功能代码的困境结束,从而实现更快的开发。 简而言之,Web框架能够简化Web开发。前端
若是您想深刻了解Web框架及其优势,请点击此处。python
Django是一个Python编写的,高级的,MVC风格的开源库。 Django也被称为“完美主义者的最终框架”,它最初是为新闻网站设计的,由于它容许开发人员编写数据库驱动的Web应用程序,而无需从头开始编码。git
除了更快完成常见的Web开发任务,Django还能够保持设计干净且实用。 Django是Python Web开发新人的最佳选择,由于官方文档和教程是几个(同类)软件开发框架中最好的。github
技术市场充斥着一系列网络框架,但Django在最受欢迎的服务器端Web框架里处于顶峰位置。设计Django背后的座右铭很简单:避免重复。 Django是用Python编写的,所以其减小了太多中间层代码并突出提升了效率。Django能够支持云平台,使其成为Web开发中更受欢迎的选择。web
Django“自备军需”(Batteries-Included)数据库
Django基于“自备军需”的理念,您没必要使用单独的库来实现常见功能,例如身份验证,URL路由,模板系统, 对象关系映射器(ORM)和数据库模型迁移。 若是您正在使用或曾经用过Flask,您必定注意到了它须要调用其余库,如Flask-Login来执行用户身份验证。 Django不是这样。django
自由的APIflask
使用Django,很容易根据您的模型生成Python API。 只需一个简单的命令,不须要额外的编码就足以开始生成API了。安全
独特的管理页面
即便在网站彻底构建以前,您也能够从外部贡献者处获取有关信息。 这就是Django的力量。 该框架使您可以快速轻松地从应用模型生成管理站点。
代码设计
与大多数 Web 框架相反,Django 经过使用称为 app 的东西,更容易地将新功能添加到产品中。 所以,开发者能够感觉到 Django 鼓励你们编写模块化的代码。
Django对ORM的完善支持
Django的对象关系映射 (ORM) 对数据库进行了完善的支持。因此,它用于查询数据库所需的数据时,没有处理结构化查询语言(SQL)的麻烦。 与许多经过SQL直接在数据库上工做的Python框架不一样,Django开发人员有一个独特的选择来操纵相应的Python的Model对象。 Django对于PostgreSQL,MySQL,SQLite和Oracle等数据库都能作到开箱即用。
点击此处了解使用 Django 及其 ORM 进行数据处理的基础知识。
强大的内置模板系统
基于继承系统,Django 的模板容许开发人员经过很是少许的前端代码构建整个动态网站。这得益于使用其余上下文特定元素替换模板的某些元素的选项。 想象一下,你知道你网站的每一个页面都会有一个页眉和一个页脚。 如今,您首先须要在网站的基本模板中编写代码。 而后,您能够从应用程序的其余部分动态地更改这两个内容之间的组件。
简单可读的网址
很难正确阅读在PHP os ASP中开发的URL? 使用 Django,您能够建立简单易读的 URL,这对人和搜索引擎都有好处。 您也可使用其余框架建立可读 URL,但没有一个与 Django 同样容易进行 URL 构造。
快速容易的建立RSS和ATOM feeds
使用 Django,你能够经过建立一个简单的Python类来快速建立 RSS 和 ATOM feeds。
在数据库中自动建立表
若是你的数据库中缺失了某一个表,你能够经过执行 Django 的迁移命令来自动建立它。
容易的数据迁移
数据迁移是 Django 中最有用的功能之一。经过使用 Django 的迁移方法,你能够在短期内改变一个数据库模式。一样也容易就能跟踪你的数据库模式和相关的改变。为数据迁移所作的命名可以帮助你进行版本控制,还有不少选项能够用来合并版本和进行修改。
安全性
Django很是安全,该框架默认状况下能够防止 XSS 攻击、CSRF 攻击,SQL 语句注入、点击劫持、用户管理、cookies、邮件标头注入、密码攻击、目录遍历攻击等等。
Django有一个很是活跃的社区,有80,000个StackOverflow问题和数不清的博客来自开发人员和高级用户。 有一些流行网站使用Django,包括 Bitbucket, Pinterest, Instagram, 以及 The Onion。 Django的人气不断飙升,可能仍然是Python开发人员最受欢迎的选择。