统治Python开发世界的Web框架 —— Django
Posted 开源最前线
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了统治Python开发世界的Web框架 —— Django相关的知识,希望对你有一定的参考价值。
本期是开源推荐第 11 期,本期我们要推荐的开源软件是 Django
对于 Python 开发者来说,Web 开发框架真可谓玲琅满目。然而 Django , 毋庸置疑的成为最受青睐的 Web 框架。到底为什么能如此受欢迎呢?往下看就知道了。
Python Web 框架 Django
授权协议:BSD
开发语言:Python
操作系统:跨平台
Github:https://github.com/django/django ★28k
Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 Web 应用程序框架。使用 Django,我们在几分钟之内就可以创建高品质、易维护、数据库驱动的应用程序。Django 也被称为“完美主义者的最终框架”,它最初是为新闻网站设计的,因为它允许开发人员编写数据库驱动的 Web 应用程序,而无需从头开始编码。
强大的数据库功能
用 Python 的类继承,几行代码就可以拥有一个丰富,动态的数据库操作接口(API),如果需要你也能执行SQL语句
自带的强大的后台功能
几行简单的代码就让你的网站拥有一个强大的后台,轻松管理你的内容!
优雅的网址
用正则匹配网址,传递到对应函数,随意定义,如你所想!
模板系统
强大,易扩展的模板系统,设计简易,代码,样式分开设计,更容易管理。
缓存系统
与memcached或其它的缓存系统联用,更出色的表现,更快的加载速度。
容易的数据迁移
数据迁移是 Django 中最有用的功能之一。通过使用 Django 的迁移方法,你可以在短时间内改变一个数据库模式。同样也容易就能跟踪你的数据库模式和相关的改变。为数据迁移所做的命名能够帮助你进行版本控制,还有很多选项可以用来合并版本和进行修改。
安全性
Django 非常安全,该框架默认情况下可以防止 XSS 攻击、CSRF 攻击,SQL 语句注入、点击劫持、用户管理、cookies、邮件标头注入、密码攻击、目录遍历攻击等等。
国际化
完全支持多语言应用,允许你定义翻译的字符,轻松翻译成不同国家的语言。
Django 是一个基于 MVC 构造的框架。但是在 Django 中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV 模式。它们各自的职责如下:
从以上表述可以看出 Django 视图不处理用户输入,而仅仅决定要展现哪些数据给用户,而Django 模板 仅仅决定如何展现 Django 视图指定的数据。或者说, Django 将 MVC 中的视图进一步分解为 Django 视图 和 Django 模板两个部分,分别决定 "展现哪些数据" 和 "如何展现",使得 Django 的模板可以根据需要随时替换,而不仅仅限制于内置的模板。
至于 MVC 控制器部分,由 Django 框架的 URLconf 来实现。URLconf 机制是使用正则表达式匹配 URL,然后调用合适的 Python 函数。URLconf 对于 URL 的规则没有任何限制,你完全可以设计成任意的URL风格,不管是传统的,RESTful 的,或者是另类的。框架把控制层给封装了,无非与数据交互这层都是数据库表的读,写,删除,更新的操作.在写程序的时候,只要调用相应的方法就行了,感觉很方便。
程序员把控制层东西交给 Django 自动完成了。 只需要编写非常少的代码完成很多的事情。所以,它比 MVC 框架考虑的问题要深一步,因为我们程序员大都在写控制层的程序。现在这个工作交给了框架,仅需写很少的调用代码,大大提高了工作效率。在 Django 中,URLS、ORM、static、settings 等起着重要的作用。一个典型的业务流程是如下图所示:
1.用 manage .py runserver 启动 Django 服务器时就载入了在同一目录下的 settings .py。该文件包含了项目中的配置信息,如前面讲的 URLConf 等,其中最重要的配置就是 ROOT_URLCONF,它告诉 Django 哪个 Python 模块应该用作本站的 URLConf,默认的是 urls .py
2.当访问 url 的时候,Django 会根据 ROOT_URLCONF 的设置来装载 URLConf。
3.然后按顺序逐个匹配 URLConf 里的 URLpatterns。如果找到则会调用相关联的视图函数,并把 HttpRequest 对象作为第一个参数(通常是 request)
4.最后该 view 函数负责返回一个 HttpResponse 对象。
Django 有一个非常活跃的社区,有80,000个StackOverflow问题和数不清的博客来自开发人员和高级用户。 有一些流行网站使用 Django,包括 Bitbucket, Pinterest, Instagram, 以及 The Onion。 Django 的人气不断飙升,可能仍然是 Python 开发人员最受欢迎的选择。
转载请注明来源作者
●本文编号26,以后想阅读这篇文章直接输入26即可
●输入m获取文章目录
↓↓↓ 点击"阅读原文" 进入GitHub详情页
以上是关于统治Python开发世界的Web框架 —— Django的主要内容,如果未能解决你的问题,请参考以下文章
麦子学院:Python Flask快速构建高性能大型企业级web网站项目实战