常见问题解答:一般情况

这个项目为什么存在?

Django源于一个非常现实的需求:报纸网络运营公司World Online负责在新闻截止日期前构建密集的网络应用程序。在快节奏的新闻编辑部,世界在线通常只有几个小时的时间来完成一个复杂的网络应用程序从概念到公开发布。

与此同时,World Online Web开发人员在遵循Web开发的最佳实践方面一直是完美主义者。

2003年秋天,World Online开发人员(禤浩焯·霍洛瓦蒂和西蒙·威里森)抛弃了PHP语言,开始使用Python开发其网站。随着他们构建像Lawrence.com这样密集、交互丰富的网站,他们开始提取一个通用的Web开发框架,使他们能够越来越快地构建Web应用程序。他们不断地调整这个框架,在两年的时间里增加了改进。

2005年夏天,世界在线决定开放源代码的结果软件,django。没有一个完整的开源项目,Django是不可能实现的。-- ApachePythonPostgreSQL 举几个例子——我们很高兴能够回馈开源社区。

“django”是什么意思?你怎么发音?

Django是以 Django Reinhardt 他是一位爵士马诺奇吉他手,从20世纪30年代到20世纪50年代初,一直被认为是有史以来最好的吉他手之一。

听他的音乐。你会喜欢的。

Django发音 JANG -哦。和方哦押韵。“D”是无声的。

我们还录制了 audio clip of the pronunciation .

Django 稳定吗?

是的,它很稳定。Disqus、Instagram、Pinterest和Mozilla等公司多年来一直在使用Django。建在Django上的网站经受住了每秒超过5万次的流量高峰。

Django 秤吗?

对。与开发时间相比,硬件是便宜的,因此Django的设计目的是尽可能多地利用硬件。

Django使用“无共享”架构,这意味着您可以在任何级别添加硬件--数据库服务器、缓存服务器或Web/应用程序服务器。

框架将数据库层和应用程序层等组件清晰地分开。它配备了一个简单而强大的 cache framework .

谁是幕后黑手?

Django最初是由世界在线开发的,世界在线是美国堪萨斯州劳伦斯一家报纸的网络部。Django现在由一位国际 team of volunteers

Django是如何获得许可的?

Django分布于 the 3-clause BSD license . 这是一个开放源码许可证,授予修改和重新发布django的广泛权限。

为什么django包含python的许可文件?

Django包含来自Python标准库的代码。python是在许可的开放源代码许可下发布的。 A copy of the Python license 包括在Django中,以符合python的条款。

哪些网站使用django?

DjangoSites.org 拥有不断增长的Django供电站点列表。

Django似乎是一个MVC框架,但您将控制器称为“视图”,而视图称为“模板”。为什么不使用标准名称?

嗯,标准名称是有争议的。

在我们对MVC的解释中,“视图”描述了向用户显示的数据。不一定 how 数据 ,但是 哪一个 提供数据。视图描述了 你看到哪些数据 不是 你怎么看的。 这是一个微妙的区别。

因此,在我们的例子中,“view”是特定URL的python回调函数,因为该回调函数描述了呈现的数据。

此外,将内容与表示分离是明智的——模板就是在这里出现的。在Django中,“视图”描述了显示的数据,但视图通常委托给模板,该模板描述了 how 给出了数据。

那么“控制器”放在哪里呢?在Django的例子中,可能是框架本身:根据Django的URL配置,向适当的视图发送请求的机器。

如果你对缩写词很感兴趣,你可能会说django是一个“mtv”框架——即“模型”、“模板”和“视图”。这种分解更为合理。

归根结底,归根结底还是要把事情做好。而且,不管事情是如何命名的,Django以一种对我们来说最符合逻辑的方式完成任务。

<framework x>does<feature y>——为什么不Django?

我们很清楚还有其他很棒的Web框架,我们并不反对在适当的时候借用想法。然而,Django的开发正是因为我们对现状不满意,所以请注意,“因为<框架X>是这样”将不会成为向Django添加给定功能的充分理由。

为什么要从头开始编写所有的django,而不是使用其他的python库?

在最初编写Django时,禤浩焯和西蒙花了相当多的时间探索各种可用的PythonWeb框架。

在我们看来,他们中没有一个完全符合要求。

我们很挑剔。你甚至可以叫我们完美主义者。(有最后期限。)

随着时间的推移,我们偶然发现了一些开源库,它们完成了我们已经实现的事情。看到其他人以类似的方式解决类似的问题让人安心,但集成外部代码为时已晚:我们已经在几个生产环境中编写、测试和实现了自己的框架位,并且我们自己的代码满足了我们的需要。

然而,在大多数情况下,我们发现现有的框架/工具不可避免地会有一些基本的、致命的缺陷,这让我们感到非常不安。没有完全符合我们原理的工具。

就像我们说的:我们很挑剔。

我们已经记录了我们的原理 design philosophies page .

Django是内容管理系统(CMS)吗?

不,Django本身并不是CMS,也不是任何类型的“交钥匙产品”。它是一个网络框架;它是一个让你建立网站的编程工具。

例如,把 Django 比作 Drupal, 因为django是你习惯的 创造 像Drupal这样的东西。

是的,Django的自动管理站点非常棒而且节省时间——但是管理站点是Django框架的一个模块。此外,尽管Django在构建“CMS-y”应用程序方面有着特殊的便利性,但这并不意味着它不适合构建“非CMS-y”应用程序(无论这意味着什么!)。

如何下载django文档以脱机阅读?

Django文档可在 docs 每个Django tarball版本的目录。这些文档是REST(ReStrutiredText)格式,每个文本文件对应于Django官方网站上的一个网页。

因为文件是 stored in revision control 您可以像浏览代码更改一样浏览文档更改。

从技术上讲,django网站上的文档是从这些剩余文档的最新开发版本生成的,因此django网站上的文档可能比最新django版本附带的文档提供更多信息。

我如何引用 Django ?

很难给出一个正式的引文格式,原因有两个:引文格式在出版物中的差异很大,而软件的引文标准仍然是一个有争议的问题。

例如, APA style ,将口述类似以下内容:

Django (Version 1.5) [Computer Software]. (2013). Retrieved from https://www.djangoproject.com/.

然而,唯一真正的指南是你的出版商会接受的,所以你可以得到这些指南的副本,并尽可能地填补空白。

如果引用样式指南需要发布者名称,请使用“Django软件基金会”。

如果您需要发布位置,请使用“堪萨斯州劳伦斯”。

如果您需要网址,请使用https://www.djangoproject.com/.

如果你需要一个名字,只需使用“django”,没有任何标语。

如果需要发布日期,请使用所引用版本的发布年份(例如,2013年的v1.5版)