<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Deploying Django — Django v1.2 documentation</title> <link rel="stylesheet" href="../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT: '../../', VERSION: '1.2', COLLAPSE_INDEX: false, FILE_SUFFIX: '.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="../../_static/jquery.js"></script> <script type="text/javascript" src="../../_static/underscore.js"></script> <script type="text/javascript" src="../../_static/doctools.js"></script> <link rel="top" title="Django v1.2 documentation" href="../../index.html" /> <link rel="up" title="“How-to” guides" href="../index.html" /> <link rel="next" title="How to use Django with Apache and mod_wsgi" href="modwsgi.html" /> <link rel="prev" title="Writing a custom storage system" href="../custom-file-storage.html" /> <script type="text/javascript" src="../../templatebuiltins.js"></script> <script type="text/javascript"> (function($) { if (!django_template_builtins) { // templatebuiltins.js missing, do nothing. return; } $(document).ready(function() { // Hyperlink Django template tags and filters var base = "../../ref/templates/builtins.html"; if (base == "#") { // Special case for builtins.html itself base = ""; } // Tags are keywords, class '.k' $("div.highlight\\-html\\+django span.k").each(function(i, elem) { var tagname = $(elem).text(); if ($.inArray(tagname, django_template_builtins.ttags) != -1) { var fragment = tagname.replace(/_/, '-'); $(elem).html("<a href='" + base + "#" + fragment + "'>" + tagname + "</a>"); } }); // Filters are functions, class '.nf' $("div.highlight\\-html\\+django span.nf").each(function(i, elem) { var filtername = $(elem).text(); if ($.inArray(filtername, django_template_builtins.tfilters) != -1) { var fragment = filtername.replace(/_/, '-'); $(elem).html("<a href='" + base + "#" + fragment + "'>" + filtername + "</a>"); } }); }); })(jQuery); </script> </head> <body> <div class="document"> <div id="custom-doc" class="yui-t6"> <div id="hd"> <h1><a href="../../index.html">Django v1.2 documentation</a></h1> <div id="global-nav"> <a title="Home page" href="../../index.html">Home</a> | <a title="Table of contents" href="../../contents.html">Table of contents</a> | <a title="Global index" href="../../genindex.html">Index</a> | <a title="Module index" href="../../py-modindex.html">Modules</a> </div> <div class="nav"> « <a href="../custom-file-storage.html" title="Writing a custom storage system">previous</a> | <a href="../index.html" title="&#8220;How-to&#8221; guides" accesskey="U">up</a> | <a href="modwsgi.html" title="How to use Django with Apache and mod_wsgi">next</a> »</div> </div> <div id="bd"> <div id="yui-main"> <div class="yui-b"> <div class="yui-g" id="howto-deployment-index"> <div class="section" id="s-deploying-django"> <span id="deploying-django"></span><h1>Deploying Django<a class="headerlink" href="#deploying-django" title="Permalink to this headline">¶</a></h1> <p>Django’s chock-full of shortcuts to make web developer’s lives easier, but all those tools are of no use if you can’t easily deploy your sites. Since Django’s inception, ease of deployment has been a major goal. There’s a number of good ways to easily deploy Django:</p> <div class="toctree-wrapper compound"> <ul> <li class="toctree-l1"><a class="reference internal" href="modwsgi.html">How to use Django with Apache and mod_wsgi</a></li> <li class="toctree-l1"><a class="reference internal" href="modpython.html">How to use Django with Apache and mod_python</a></li> <li class="toctree-l1"><a class="reference internal" href="fastcgi.html">How to use Django with FastCGI, SCGI, or AJP</a></li> </ul> </div> <p>If you’re new to deploying Django and/or Python, we’d recommend you try <a class="reference internal" href="modwsgi.html"><em>mod_wsgi</em></a> first. In most cases it’ll be the easiest, fastest, and most stable deployment choice.</p> <div class="admonition-see-also admonition seealso"> <p class="first admonition-title">See also</p> <ul class="last simple"> <li><a class="reference external" href="http://djangobook.com/en/2.0/chapter12/">Chapter 12 of The Django Book</a> discusses deployment and especially scaling in more detail.</li> </ul> </div> </div> </div> </div> </div> <div class="yui-b" id="sidebar"> <div class="sphinxsidebar"> <div class="sphinxsidebarwrapper"> <h3>Browse</h3> <ul> <li>Prev: <a href="../custom-file-storage.html">Writing a custom storage system</a></li> <li>Next: <a href="modwsgi.html">How to use Django with Apache and mod_wsgi</a></li> </ul> <h3>You are here:</h3> <ul> <li> <a href="../../index.html">Django v1.2 documentation</a> <ul><li><a href="../index.html">“How-to” guides</a> <ul><li>Deploying Django</li></ul> </li></ul> </li> </ul> <h3>This Page</h3> <ul class="this-page-menu"> <li><a href="../../_sources/howto/deployment/index.txt" rel="nofollow">Show Source</a></li> </ul> <div id="searchbox" style="display: none"> <h3>Quick search</h3> <form class="search" action="../../search.html" method="get"> <input type="text" name="q" size="18" /> <input type="submit" value="Go" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> <p class="searchtip" style="font-size: 90%"> Enter search terms or a module, class or function name. </p> </div> <script type="text/javascript">$('#searchbox').show(0);</script> </div> </div> <h3>Last update:</h3> <p class="topless">Oct 20, 2010</p> </div> </div> <div id="ft"> <div class="nav"> « <a href="../custom-file-storage.html" title="Writing a custom storage system">previous</a> | <a href="../index.html" title="&#8220;How-to&#8221; guides" accesskey="U">up</a> | <a href="modwsgi.html" title="How to use Django with Apache and mod_wsgi">next</a> »</div> </div> </div> <div class="clearer"></div> </div> </body> </html>