{"title":"FAQ: General","version":"1.8","locale":"en","docname":"faq/general","url":"/en/1.8/faq/general/","canonical":"https://djangodocs.dev/en/1.8/faq/general/","summary":"Why does this project exist? Link to this heading # Django grew from a very practical need: World Online, a newspaper Web operation, is responsible for building…","html":"<h1>FAQ: General<a class=\"heading-anchor\" href=\"#faq-general\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<section id=\"why-does-this-project-exist\">\n<h2>Why does this project exist?<a class=\"heading-anchor\" href=\"#why-does-this-project-exist\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django grew from a very practical need: World Online, a newspaper Web\noperation, is responsible for building intensive Web applications on journalism\ndeadlines. In the fast-paced newsroom, World Online often has only a matter of\nhours to take a complicated Web application from concept to public launch.</p>\n<p>At the same time, the World Online Web developers have consistently been\nperfectionists when it comes to following best practices of Web development.</p>\n<p>In fall 2003, the World Online developers (Adrian Holovaty and Simon Willison)\nditched PHP and began using Python to develop its Web sites. As they built\nintensive, richly interactive sites such as Lawrence.com, they began to extract\na generic Web development framework that let them build Web applications more\nand more quickly. They tweaked this framework constantly, adding improvements\nover two years.</p>\n<p>In summer 2005, World Online decided to open-source the resulting software,\nDjango. Django would not be possible without a whole host of open-source\nprojects – <a class=\"reference external\" href=\"http://httpd.apache.org/\">Apache</a>, <a class=\"reference external\" href=\"https://www.python.org/\">Python</a>, and <a class=\"reference external\" href=\"http://www.postgresql.org/\">PostgreSQL</a> to name a few – and we’re\nthrilled to be able to give something back to the open-source community.</p>\n</section>\n<section id=\"what-does-django-mean-and-how-do-you-pronounce-it\">\n<h2>What does “Django” mean, and how do you pronounce it?<a class=\"heading-anchor\" href=\"#what-does-django-mean-and-how-do-you-pronounce-it\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django is named after <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Django_Reinhardt\">Django Reinhardt</a>, a gypsy jazz guitarist from the 1930s\nto early 1950s. To this day, he’s considered one of the best guitarists of all time.</p>\n<p>Listen to his music. You’ll like it.</p>\n<p>Django is pronounced <strong>JANG</strong>-oh. Rhymes with FANG-oh. The “D” is silent.</p>\n<p>We’ve also recorded an <a class=\"reference external\" href=\"http://red-bean.com/~adrian/django_pronunciation.mp3\">audio clip of the pronunciation</a>.</p>\n</section>\n<section id=\"is-django-stable\">\n<h2>Is Django stable?<a class=\"heading-anchor\" href=\"#is-django-stable\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Yes, it’s quite stable. Companies like Disqus, Instagram, Pinterest, and\nMozilla have been using Django for many years. Sites built on Django have\nweathered traffic spikes of over 50 thousand hits per second.</p>\n</section>\n<section id=\"does-django-scale\">\n<h2>Does Django scale?<a class=\"heading-anchor\" href=\"#does-django-scale\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Yes. Compared to development time, hardware is cheap, and so Django is\ndesigned to take advantage of as much hardware as you can throw at it.</p>\n<p>Django uses a “shared-nothing” architecture, which means you can add hardware\nat any level – database servers, caching servers or Web/application servers.</p>\n<p>The framework cleanly separates components such as its database layer and\napplication layer. And it ships with a simple-yet-powerful\n<a class=\"reference internal\" href=\"/en/1.8/topics/cache/\"><span class=\"doc\">cache framework</span></a>.</p>\n</section>\n<section id=\"who-s-behind-this\">\n<h2>Who’s behind this?<a class=\"heading-anchor\" href=\"#who-s-behind-this\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django was originally developed at World Online, the Web department of a\nnewspaper in Lawrence, Kansas, USA. Django’s now run by an international\n<a class=\"reference internal\" href=\"/en/1.8/internals/team/\"><span class=\"doc\">team of volunteers</span></a>.</p>\n</section>\n<section id=\"which-sites-use-django\">\n<h2>Which sites use Django?<a class=\"heading-anchor\" href=\"#which-sites-use-django\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p><a class=\"reference external\" href=\"http://djangosites.org\">DjangoSites.org</a> features a constantly growing list of Django-powered sites.</p>\n</section>\n<section id=\"django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names\">\n<span id=\"faq-mtv\"></span><h2>Django appears to be a MVC framework, but you call the Controller the “view”, and the View the “template”. How come you don’t use the standard names?<a class=\"heading-anchor\" href=\"#django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Well, the standard names are debatable.</p>\n<p>In our interpretation of MVC, the “view” describes the data that gets presented\nto the user. It’s not necessarily <em>how</em> the data <em>looks</em>, but <em>which</em> data is\npresented. The view describes <em>which data you see</em>, not <em>how you see it.</em> It’s\na subtle distinction.</p>\n<p>So, in our case, a “view” is the Python callback function for a particular URL,\nbecause that callback function describes which data is presented.</p>\n<p>Furthermore, it’s sensible to separate content from presentation – which is\nwhere templates come in. In Django, a “view” describes which data is presented,\nbut a view normally delegates to a template, which describes <em>how</em> the data is\npresented.</p>\n<p>Where does the “controller” fit in, then? In Django’s case, it’s probably the\nframework itself: the machinery that sends a request to the appropriate view,\naccording to the Django URL configuration.</p>\n<p>If you’re hungry for acronyms, you might say that Django is a “MTV” framework\n– that is, “model”, “template”, and “view.” That breakdown makes much more\nsense.</p>\n<p>At the end of the day, of course, it comes down to getting stuff done. And,\nregardless of how things are named, Django gets stuff done in a way that’s most\nlogical to us.</p>\n</section>\n<section id=\"framework-x-does-feature-y-why-doesn-t-django\">\n<h2>&lt;Framework X&gt; does &lt;feature Y&gt; – why doesn’t Django?<a class=\"heading-anchor\" href=\"#framework-x-does-feature-y-why-doesn-t-django\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>We’re well aware that there are other awesome Web frameworks out there, and\nwe’re not averse to borrowing ideas where appropriate. However, Django was\ndeveloped precisely because we were unhappy with the status quo, so please be\naware that “because &lt;Framework X&gt; does it” is not going to be sufficient reason\nto add a given feature to Django.</p>\n</section>\n<section id=\"why-did-you-write-all-of-django-from-scratch-instead-of-using-other-python-libraries\">\n<h2>Why did you write all of Django from scratch, instead of using other Python libraries?<a class=\"heading-anchor\" href=\"#why-did-you-write-all-of-django-from-scratch-instead-of-using-other-python-libraries\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>When Django was originally written a couple of years ago, Adrian and Simon\nspent quite a bit of time exploring the various Python Web frameworks\navailable.</p>\n<p>In our opinion, none of them were completely up to snuff.</p>\n<p>We’re picky. You might even call us perfectionists. (With deadlines.)</p>\n<p>Over time, we stumbled across open-source libraries that did things we’d\nalready implemented. It was reassuring to see other people solving similar\nproblems in similar ways, but it was too late to integrate outside code: We’d\nalready written, tested and implemented our own framework bits in several\nproduction settings – and our own code met our needs delightfully.</p>\n<p>In most cases, however, we found that existing frameworks/tools inevitably had\nsome sort of fundamental, fatal flaw that made us squeamish. No tool fit our\nphilosophies 100%.</p>\n<p>Like we said: We’re picky.</p>\n<p>We’ve documented our philosophies on the\n<a class=\"reference internal\" href=\"/en/1.8/misc/design-philosophies/\"><span class=\"doc\">design philosophies page</span></a>.</p>\n</section>\n<section id=\"is-django-a-content-management-system-cms\">\n<h2>Is Django a content-management-system (CMS)?<a class=\"heading-anchor\" href=\"#is-django-a-content-management-system-cms\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>No, Django is not a CMS, or any sort of “turnkey product” in and of itself.\nIt’s a Web framework; it’s a programming tool that lets you build Web sites.</p>\n<p>For example, it doesn’t make much sense to compare Django to something like\n<a class=\"reference external\" href=\"https://drupal.org/\">Drupal</a>, because Django is something you use to <em>create</em> things like Drupal.</p>\n<p>Of course, Django’s automatic admin site is fantastic and timesaving – but\nthe admin site is one module of Django the framework. Furthermore, although\nDjango has special conveniences for building “CMS-y” apps, that doesn’t mean\nit’s not just as appropriate for building “non-CMS-y” apps (whatever that\nmeans!).</p>\n</section>\n<section id=\"how-can-i-download-the-django-documentation-to-read-it-offline\">\n<h2>How can I download the Django documentation to read it offline?<a class=\"heading-anchor\" href=\"#how-can-i-download-the-django-documentation-to-read-it-offline\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>The Django docs are available in the <code class=\"docutils literal notranslate\"><span class=\"pre\">docs</span></code> directory of each Django tarball\nrelease. These docs are in reST (reStructuredText) format, and each text file\ncorresponds to a Web page on the official Django site.</p>\n<p>Because the documentation is <a class=\"reference external\" href=\"https://github.com/django/django/tree/master/docs/\">stored in revision control</a>, you can browse\ndocumentation changes just like you can browse code changes.</p>\n<p>Technically, the docs on Django’s site are generated from the latest development\nversions of those reST documents, so the docs on the Django site may offer more\ninformation than the docs that come with the latest Django release.</p>\n</section>\n<section id=\"where-can-i-find-django-developers-for-hire\">\n<h2>Where can I find Django developers for hire?<a class=\"heading-anchor\" href=\"#where-can-i-find-django-developers-for-hire\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Consult our <a class=\"reference external\" href=\"https://code.djangoproject.com/wiki/DevelopersForHire\">developers for hire page</a> for a list of Django developers who\nwould be happy to help you.</p>\n<p>You might also be interested in posting a job to <a class=\"reference external\" href=\"https://djangogigs.com/\">https://djangogigs.com/</a> .\nIf you want to find Django-capable people in your local area, try\n<a class=\"reference external\" href=\"https://people.djangoproject.com/\">https://people.djangoproject.com/</a> .</p>\n</section>\n<section id=\"how-do-i-cite-django\">\n<h2>How do I cite Django?<a class=\"heading-anchor\" href=\"#how-do-i-cite-django\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>It’s difficult to give an official citation format, for two reasons: citation\nformats can vary wildly between publications, and citation standards for\nsoftware are still a matter of some debate.</p>\n<p>For example, <a class=\"reference external\" href=\"http://www.apastyle.org\">APA style</a>,  would dictate something like:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">Django</span> <span class=\"p\">(</span><span class=\"n\">Version</span> <span class=\"mf\">1.5</span><span class=\"p\">)</span> <span class=\"p\">[</span><span class=\"n\">Computer</span> <span class=\"n\">Software</span><span class=\"p\">]</span><span class=\"o\">.</span> <span class=\"p\">(</span><span class=\"mi\">2013</span><span class=\"p\">)</span><span class=\"o\">.</span> <span class=\"n\">Retrieved</span> <span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">https</span><span class=\"p\">:</span><span class=\"o\">//</span><span class=\"n\">djangoproject</span><span class=\"o\">.</span><span class=\"n\">com</span><span class=\"o\">.</span>\n</code></pre></div>\n<p>However, the only true guide is what your publisher will accept, so get a copy\nof those guidelines and fill in the gaps as best you can.</p>\n<p>If your referencing style guide requires a publisher name, use “Django Software\nFoundation”.</p>\n<p>If you need a publishing location, use “Lawrence, Kansas”.</p>\n<p>If you need a web address, use <a class=\"reference external\" href=\"https://djangoproject.com\">https://djangoproject.com</a>.</p>\n<p>If you need a name, just use “Django”, without any tagline.</p>\n<p>If you need a publication date, use the year of release of the version you’re\nreferencing (e.g., 2013 for v1.5)</p>\n</section>","rootId":"faq-general","toc":[{"title":"Why does this project exist?","anchor":"why-does-this-project-exist","children":[]},{"title":"What does “Django” mean, and how do you pronounce it?","anchor":"what-does-django-mean-and-how-do-you-pronounce-it","children":[]},{"title":"Is Django stable?","anchor":"is-django-stable","children":[]},{"title":"Does Django scale?","anchor":"does-django-scale","children":[]},{"title":"Who’s behind this?","anchor":"who-s-behind-this","children":[]},{"title":"Which sites use Django?","anchor":"which-sites-use-django","children":[]},{"title":"Django appears to be a MVC framework, but you call the Controller the “view”, and the View the “template”. How come you don’t use the standard names?","anchor":"django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names","children":[]},{"title":"<Framework X> does <feature Y> – why doesn’t Django?","anchor":"framework-x-does-feature-y-why-doesn-t-django","children":[]},{"title":"Why did you write all of Django from scratch, instead of using other Python libraries?","anchor":"why-did-you-write-all-of-django-from-scratch-instead-of-using-other-python-libraries","children":[]},{"title":"Is Django a content-management-system (CMS)?","anchor":"is-django-a-content-management-system-cms","children":[]},{"title":"How can I download the Django documentation to read it offline?","anchor":"how-can-i-download-the-django-documentation-to-read-it-offline","children":[]},{"title":"Where can I find Django developers for hire?","anchor":"where-can-i-find-django-developers-for-hire","children":[]},{"title":"How do I cite Django?","anchor":"how-do-i-cite-django","children":[]}],"breadcrumbs":[{"docname":"faq/index","title":"Django FAQ","url":"/en/1.8/faq/"}],"prev":{"docname":"faq/index","title":"Django FAQ","url":"/en/1.8/faq/"},"next":{"docname":"faq/install","title":"FAQ: Installation","url":"/en/1.8/faq/install/"},"formats":{"html":"/en/1.8/faq/general/","markdown":"/en/1.8/faq/general.md","json":"/en/1.8/faq/general.json"},"source":"https://github.com/django/django/blob/stable/1.8.x/docs/faq/general.txt","official":"https://docs.djangoproject.com/en/1.8/faq/general/","inVersions":["dev","6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9","1.8"],"inLocales":["en"]}