PageRenderTime 18ms CodeModel.GetById 15ms app.highlight 1ms RepoModel.GetById 1ms app.codeStats 0ms

Plain Text | 110 lines | 86 code | 24 blank | 0 comment | 0 complexity | 46c9233363003d096a075861ee5b7ef4 MD5 | raw file
  1FAQ: Installation
  4How do I get started?
  7    #. `Download the code`_.
  8    #. Install Django (read the :doc:`installation guide </intro/install>`).
  9    #. Walk through the :doc:`tutorial </intro/tutorial01>`.
 10    #. Check out the rest of the :doc:`documentation </index>`, and `ask questions`_ if you
 11       run into trouble.
 13.. _`Download the code`:
 14.. _ask questions:
 16What are Django's prerequisites?
 19Django requires Python_, specifically any version of Python from 2.4
 20through 2.7. No other Python libraries are required for basic Django
 23For a development environment -- if you just want to experiment with Django --
 24you don't need to have a separate Web server installed; Django comes with its
 25own lightweight development server. For a production environment, Django
 26follows the WSGI_ spec, which means it can run on a variety of server
 27platforms.  See :doc:`Deploying Django </howto/deployment/index>` for some
 28popular alternatives.  Also, the `server arrangements wiki page`_ contains
 29details for several deployment strategies.
 31If you want to use Django with a database, which is probably the case, you'll
 32also need a database engine. PostgreSQL_ is recommended, because we're
 33PostgreSQL fans, and MySQL_, `SQLite 3`_, and Oracle_ are also supported.
 35.. _Python:
 36.. _WSGI:
 37.. _server arrangements wiki page:
 38.. _PostgreSQL:
 39.. _MySQL:
 40.. _`SQLite 3`:
 41.. _Oracle:
 43Do I lose anything by using Python 2.4 versus newer Python versions, such as Python 2.5 or 2.6?
 46Not in the core framework. Currently, Django itself officially supports any
 47version of Python from 2.4 through 2.7, inclusive. However, newer versions of
 48Python are often faster, have more features, and are better supported. If you
 49use a newer version of Python you will also have access to some APIs that
 50aren't available under older versions of Python. For example Django provides
 51some `context managers`_ for various operations. If you use Python 2.4 you
 52won't be able to use them, however other APIs which provide the same
 53functionality are always made available.
 55Third-party applications for use with Django are, of course, free to set their
 56own version requirements.
 58Over the next year or two Django will begin dropping support for older Python
 59versions as part of a migration which will end with Django running on Python 3
 60(see below for details).
 62All else being equal, we recommend that you use the latest 2.x release
 63(currently Python 2.7). This will let you take advantage of the numerous
 64improvements and optimizations to the Python language since version 2.4, and
 65will help ease the process of dropping support for older Python versions on
 66the road to Python 3.
 68.. _context managers:
 70Can I use Django with Python 2.3?
 73Django 1.1 (and earlier) supported Python 2.3. Django 1.2 and newer does not.
 74We highly recommend you upgrade Python if at all possible, but Django 1.1 will
 75continue to work on Python 2.3.
 77Can I use Django with Python 3?
 80Not at the moment. Python 3.0 introduced a number of
 81backwards-incompatible changes to the Python language, and although
 82these changes are generally a good thing for Python's future, it will
 83be a while before most Python software catches up and is able to run
 84on Python 3.0. For larger Python-based software like Django, the
 85transition is expected to take at least a year or two (since it
 86involves dropping support for older Python releases and so must be
 87done gradually).
 89In the meantime, Python 2.x releases will be supported and provided
 90with bug fixes and security updates by the Python development team, so
 91continuing to use a Python 2.x release during the transition should
 92not present any risk.
 94Will Django run under shared hosting (like TextDrive or Dreamhost)?
 97See our `Django-friendly Web hosts`_ page.
 99.. _`Django-friendly Web hosts`:
101Should I use the stable version or development version?
104Generally, if you're using code in production, you should be using a
105stable release. The Django project publishes a full stable release
106every nine months or so, with bugfix updates in between. These stable
107releases contain the API that is covered by our backwards
108compatibility guarantees; if you write code against stable releases,
109you shouldn't have any problems upgrading when the next official
110version is released.