FAQ: General

为什么这个项目存在?

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。如果没有一整套开源项目 - ApachePythonPostgreSQL,Django就不可能列出几个 - 非常高兴能够回馈开源社区。

“ django”是什么意思,如何发音?

Django以Django Reinhardt命名,这是一个从20世纪30年代到20世纪50年代初期的吉普赛爵士吉他手。到今天,他被认为是所有时间最好的吉他手之一。

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

Django的发音是JANG -oh。Rhymes与FANG-oh。“D”是沉默的。

我们还录制了音频剪辑

Django是否稳定?

是的,它相当稳定。Disqus,Instagram,Pinterest和Mozilla等公司已经使用Django多年了。基于Django构建的网站已经风化了每秒超过5万次点击的流量峰值。

Django可扩展吗?

是。与开发时间相比,硬件是便宜的,因此Django被设计为利用尽可能多的硬件,你可以抛在它。

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

该框架清楚地分离了组件,如其数据库层和应用程序层。它附带了一个简单但功能强大的cache framework

Who’s behind this?

Django最初是在World Online,在美国堪萨斯州劳伦斯的一家报纸的网络部门开发的。Django目前由一个国际team of volunteers

哪些网站使用Django?

DjangoSites.org具有不断增长的Django供应网站列表。

Django似乎是一个MVC框架,但是你调用Controller的“视图”,并查看“模板”。为什么不使用标准名称?

好吧,标准名称是有争议的。

在我们对MVC的解释中,“view(视图)”描述了呈现给用户的数据。关键在于哪些数据被呈现,而不是数据看上去如何该view(视图)描述哪些数据被呈现给您,而不是数据(在浏览器中)被(渲染)呈现成了什么样子这是一个微妙的区别。

所以,在我们的例子中,“view(视图)”是对于某个特定URL的Python callback function (回调函数),因为回调函数描述了哪些数据将被呈现。

此外,将content(要呈现的内容)与presentation(如何呈现——也就是templates模板起作用的部分)相分离是明智的。在Django中,“view视图”描述“哪些”数据将被呈现出来,但是一个view(视图)通常会委托给template(模板)去做渲染,该模板描述“如何”呈现数据。

那么,“controller(控制器)”这个定义用在哪里适合呢?在Django的情况下,它可能是framework(框架)本身:根据Django URL的地址配置,将request(请求)发送到适当的view(视图)。

如果你喜欢用首字母缩略词,你可以说Django是一个“MTV”框架——即“model模型”,“template模板”和“view视图”。这种分解更加合理。

当然,归根到底,它是为了完成工作。而且,无论命名是什么,Django都是以我们认为的,最合逻辑性的方式完成工作的。

does – why doesn’t Django?(Django可以做这个吗?为什么它没有那个功能?)

我们很清楚,有其他很棒的Web框架,我们不反对适当的借用合理的想法。但是,Django的开发恰恰是因为我们对现状不满意,所以请注意,“因为它不会是足够的理由添加一个给定的功能到Django。

Why did you write all of Django from scratch, instead of using other Python libraries?

当Django最初是在几年前写的,Adrian和Simon花了相当多的时间探索各种可用的Python Web框架。

在我们看来,这些python web框架没有一个完全达到标准。

我们很挑剔。你甚至可以叫我们完美主义者。(只到截止日期。)

随着时间的推移,我们偶然发现了那些我们已经实现的开源库。令人宽慰的是看到其他人以类似的方式解决类似的问题,但是那时集成外部代码已经太晚了:因为我们已经在几个生产环境中编写、测试和实现了自己的框架位——我们自己的代码满足了我们的需求。

然而,在大多数情况下,我们发现,现有的框架/工具不可避免地具有某种根本性的致命缺陷,这使我们心烦意乱。没有一个工具百分百地适合我们的哲学。

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

我们在design philosophies page上记录了我们的设计哲学。

Is Django a content-management-system (CMS)?

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

例如,将Django与Drupal比较没有什么意义,因为Django是您用来创建类似Drupal的东西。

当然,Django的自动管理网站是太棒了和节省时间 - 但管理网站是Django框架的一个模块。此外,尽管Django为构建“CMS-y”应用程序提供了特别的便利,但这并不意味着它不仅仅适用于构建“非CMS-y”应用程序(这意味着!)。

How can I download the Django documentation to read it offline?

Django文档可在每个Django tarball发行版的docs目录中找到。这些文档采用reST(reStructuredText)格式,每个文本文件对应于官方Django站点上的网页。

由于文档存储在版本控制中,因此您可以浏览文档更改,就像浏览代码更改一样。

从技术上讲,Django网站上的文档是从这些reST文档的最新开发版本生成的,因此Django网站上的文档可能会提供比最新的Django版本中的文档更多的信息。

Where can I find Django developers for hire?

请参阅我们的开发人员租用页面了解如何快速帮助您的Django开发人员列表。

您可能也有兴趣将工作发布到https://djangogigs.com/如果您想在当地找到支援Django的使用者,请试试https://people.djangoproject.com/

How do I cite 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)