Django从一个非常实际的需求成长:World Online是一个报纸Web操作,负责在新闻期限上构建密集的Web应用程序。 在快节奏的新闻编辑室中,World Online通常只需要几个小时的时间将复杂的Web应用程序从概念到公开发布。
与此同时,世界在线Web开发人员一直是完美主义者,当谈到Web开发的最佳实践。
在2003年秋季,世界在线开发人员(Adrian Holovaty和Simon Willison)沉迷于PHP,并开始使用Python开发其网站。 当他们建立密集,丰富的互动网站,如Lawrence.com,他们开始提取一个通用的Web开发框架,让他们越来越快地构建Web应用程序。 他们不断地调整这个框架,在两年内增加了改进。
2005年夏天,World Online决定开源软件Django。 如果没有一整套开源项目 - Apache,Python和PostgreSQL,Django就不可能列出几个 - 非常高兴能够回馈开源社区。
Django以20世纪30年代至20世纪50年代初期的爵士乐手吉他手Django Reinhardt命名。 直到今天,他被认为是有史以来最好的吉他手之一。
听他的音乐。 你会喜欢的。
Django的发音是JANG -oh。 Rhymes与FANG-oh。 “D”是沉默的。
我们还录制了音频剪辑。
是的,它相当稳定。 Disqus,Instagram,Pinterest和Mozilla等公司已经使用Django多年了。 基于Django构建的网站已经风化了每秒超过5万次点击的流量峰值。
是。 与开发时间相比,硬件便宜,因此Django的设计可以充分利用尽可能多的硬件。
Django使用“无共享”架构,这意味着您可以在任何级别添加硬件 - 数据库服务器,缓存服务器或Web /应用程序服务器。
该框架清楚地分离了组件,如其数据库层和应用程序层。 它附带了一个简单但功能强大的缓存框架。
DjangoSites.org具有不断增长的Django供应网站列表。
好吧,标准名称是有争议的。
在我们对MVC的解释中,“视图”描述了呈现给用户的数据。 它不一定是数据看起来如何,而是提供哪些数据。 视图描述您看到的数据,而不是 你怎么看到的, 这是一个微妙的区别。
所以,在我们的例子中,“视图”是特定URL的Python回调函数,因为回调函数描述了呈现哪些数据。
此外,将内容与表示(其中是模板)相分离是明智的。 在Django中,“视图”描述呈现哪些数据,但是视图通常委托给模板,该模板描述如何呈现数据。
那么“控制器”适合在哪里呢? 在Django中,它可能是框架本身:根据Django URL配置,将请求发送到适当视图的机制。
如果你渴望得到首字母缩写词,你可能会说Django是一个“MTV”框架 - 也就是“模型”,“模板”和“视图”。这种分解更有意义。
当然,在一天结束时,这归结于完成任务。 而且,无论如何命名,Django都会以对我们最合乎逻辑的方式完成任务。
我们清楚地知道,还有其他很棒的Web框架,我们并不反对在适当的情况下借用想法。 However, Django was developed precisely because we were unhappy with the status quo, so please be aware that “because <Framework X> does it” is not going to be sufficient reason to add a given feature to Django.
当Django最初写入时,Adrian和Simon花了很多时间探索各种可用的Python Web框架。
在我们看来,他们没有一个完全达到鼻烟。
我们很挑剔。 你甚至可以叫我们完美主义者。 (有截止日期。)
随着时间的推移,我们偶然发现了那些我们已经实现的开源库。 令人放心的是看到其他人以类似的方式解决类似的问题,但是集成外部代码太晚了:我们已经在几个生产环境中编写,测试和实现了自己的框架位 - 我们自己的代码满足了我们的需求。
然而,在大多数情况下,我们发现现有的框架/工具不可避免地存在某种致使我们娇气的基本致命缺陷。 没有工具可以100%符合我们的哲学。
就像我们说的:我们挑剔。
我们在设计哲学页面上记录了我们的哲学。
不,Django不是CMS,或任何种类的“交钥匙产品”本身。 这是一个Web框架;它是一个编程工具,可以让您构建网站。
例如,将Django与Drupal比较没有什么意义,因为Django是您用来创建类似Drupal的东西。
当然,Django的自动管理站点非常棒,节省时间 - 但管理站点是Django框架的一个模块。 此外,尽管Django为构建“CMS-y”应用程序提供了特殊的便利,但这并不意味着它不适合构建“非CMS-y”应用程序(无论这意味着什么!)。
Django文档可在每个Django tarball发行版的docs
目录中找到。 这些文档采用reST(reStructuredText)格式,每个文本文件对应于官方Django站点上的网页。
由于文档存储在版本控制中,因此您可以浏览文档更改,就像浏览代码更改一样。
从技术上讲,Django网站上的文档是从这些reST文档的最新开发版本生成的,因此Django网站上的文档可能会提供比最新的Django版本中的文档更多的信息。
很难给出正式的引文格式,原因有两个:引文格式在出版物之间可能有很大差异,软件引用标准仍然是一些争论的问题。
例如,APA样式,将指定类似:
Django (Version 1.5) [Computer Software]. (2013). Retrieved from https://djangoproject.com.
但是,唯一真正的指南是您的发布商会接受的,所以获得这些指南的副本,并尽可能填补空白。
如果引用样式指南需要发布者名称,请使用“Django Software Foundation”。
如果您需要发布位置,请使用“Lawrence,Kansas”。
如果您需要网址,请使用https://djangoproject.com。
如果你需要一个名字,只要使用“Django”,没有任何标语。
如果您需要发布日期,请使用您引用的版本的发布年份(例如,2013 for v1.5)
2017年9月6日