FAQ:概述

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

    在2003年秋季,世界在线开发者(Adrian Holovaty 和 Simon Willison)放弃 PHP 而开始使用 Python 开发网站。 当他们构建了密集的,强互动性的网站时(如 Lawrence.com),他们开始提取一个通用的 Web 开发框架,使他们可以更快地构建 Web 应用程序。 两年内他们经常调整和改进这个框架。

    在 2005 年夏天,World Online 决定开源 Django。如果没有大量的开源项目 - “Apache”,“Python” 和 “PostgreSQL” 等等,Django 是不可能完成的 - 我们很高兴能够回馈一些东西给开源社区。

    “Django”是什么意思,怎么发音?

    Django 的名字来源于 Django Reinhardt,一个活跃在1930 年到 1950 年代初期的吉普赛吉他工作室,直到今天,他们依然被认为是史上最好的吉他手之一。

    聆听他的音乐. 你会喜欢它的.

    Django 发音为 JANG,使用 FANG 来押韵,字母 “D “是不发声的.

    我们也记录了一段 .

    Django 稳定吗?

    是的,它相当稳定。 Disqus, Instagram, Pinterest, 还有 Mozilla 等公司使用 Django 很多年了。使用 Django 搭建的网站能承受每秒 50000 次点击的流量峰值。

    Django 可扩展吗?

    是的,与程序调试时间相比,硬件很便宜,所以 Django 被设计的尽可能多的利用硬件的性能。

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

    该框架将组件完全分离,如数据库层和应用程序层。它附带了一个简单但强大的 :doc:`缓存框架</topics/cache> .

    Django 最初是在美国堪萨斯州劳伦斯市一家报纸的网络部门 World Online 开发的。Django 现在由一个国际 `志愿者小组<https://www.djangoproject.com/foundation/teams/>`_ 运行。

    Django 是如何授权的?

    Djaon 基于 发布。这是一份开源协议,它允许你修改和再次分发 Django。

    为什么 Django 包含 Python 的协议文件?

    Django 包含源自 Python 的标准库。Python 是在开源许可协议下发布的。Django 包含了 一份 Python 协议 <LICENSE.python>,这是为了遵守 Python 的要求。

    哪些站点使用 Django?

    当然,标准化的名称是有争议的。

    在我们对 MVC 的解释中,“视图”描述了呈现给用户的数据。数据看起来怎么样并不重要,重要的是哪些数据被呈现。该视图描述了 您看到了哪些数据,而不是 您怎么看到数据。这是一个微妙的区别。

    所以,在我们的例子里,一个”视图(view)”是 Python 中针对一个特定 URL 的回调函数,此回调函数描述了需要展示的数据。

    此外,将内容和展示效果分开是很明智的,展示效果就是模板。在 Django 里面,一个视图(view)描述了哪些数据会被展示,但是一个视图通常代表了一个模板,这个模板描述了数据是如何被展示的。

    那控制器(Controller)在什么位置?在 Django 中,控制器可能指的是框架本身,框架会根据 Django 的 URL 配置,将请求分发到适当的视图(view)。

    如果你想要首字母缩写, 你可能会说 Django 是一个 “MTV “ 框架—即 “模型(Model) “、 “模板(Template)” 和 “视图(View). 这种划分更有意义。

    归根结底,还是要把事情做好。而且,不管事物怎么命名,Django 都能以一种最符合我们逻辑的方式来完成事情。

    <Framework X>可以做到<feature Y>—为什么 Django 不能呢?

    我们清楚的知道,其他还有很棒的 web 框架,而且我们也不反对在适当的情况下借鉴想法。但是,Django 的开发恰恰是因为我们对现状的不满,所以请注意“因为<Framework X>所以”不会成为将特定功能加到 Django 的充分理由。

    为什么你要从头开始写所有的 Django 项目,而不是使用其他 Python 库?

    当 Django 最初设计时,Adrian 和 Simon 花了很多时间去研究各种各样已经存在的 Python Web 框架。

    在我们看来,没有一个能完全达到所需的标准。

    我们很挑剔。甚至你可以说我们是完美主义者。(有截止期限的)

    随着时间的推移,我们偶然发现那些我们已经完成的开源库。很高兴看到其他人用类似的办法解决类似的问题,但是将外部代码整合已经太晚了:我们已经在几种生成环境中编写,测试并实现了我们的框架—而且我们自己的代码愉快的满足了我们的需求。

    然而,在大多数情况下,我们发现有的框架/工具不可避免地存在某种致使我们过于拘谨的基本致命缺陷。没有工具可以100%符合我们的原理。

    正如我们所说的:我们很挑剔

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

    Django 不是一个 CMS 或任何意义上的“一站式解决方案”。它是一个 Web 框架;它是一个让你建立网站的编程工具。

    例如,将 Django 和 Drupal 进行比较毫无意义,因为 Django 是用来创建 Drupal 之类的框架。

    是的,Django 的自动管理站点非常棒且节省时间——但管理站点是 Django 框架的一个模块。此外,虽然 Django 为构建“CMS-y”应用程序提供了特殊的便利,但这并不意味着它不适合构建“非-CMS-y”应用程序(不管这意味着什么!)。

    Django 文档可以在每个 Django 版本压缩包的 “docs” 目录中找到。这些文档采用 reST(reStructuredText)格式,每个文本文件都对应官方 Django 网站上的页面。

    由于文档存储在 ,所以你可以像浏览代码变更一样浏览文档变更。

    从技术上讲,Django 网站上的文档通常是由这些最新开发版本的 reST 文档生成,所以 Django 网站上提供的文档内容可能多于最新 Django 版本中的文档内容。

    如何引用 Django?

    出于两个原因,很难提供正式的引文格式:出版物之间的引文格式可能会有很大差异,软件的引用标准仍然是一些争议的问题。

    例如,APA style,命令类似:

    但是,唯一真正的指南就是您出版商将接受的内容,因此请获得这些指南的副本并尽可能填补空缺。

    如果您的引用样式指南需要发布者名称,请使用”Django Software Foundation”。

    如果您需要发布位置,请使用”Lawrence, Kansas”。

    如果你需要一个网址,使用 。

    如果你需要一个名字,只需使用“django”,没有任何修饰符号

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