mirror of
https://github.com/django/django.git
synced 2024-11-18 07:26:04 +00:00
09b4a41aa7
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16007 bcc190cf-cafb-0310-a4f2-bffc1f526a37
116 lines
5.1 KiB
Plaintext
116 lines
5.1 KiB
Plaintext
FAQ: Installation
|
|
=================
|
|
|
|
How do I get started?
|
|
---------------------
|
|
|
|
#. `Download the code`_.
|
|
#. Install Django (read the :doc:`installation guide </intro/install>`).
|
|
#. Walk through the :doc:`tutorial </intro/tutorial01>`.
|
|
#. Check out the rest of the :doc:`documentation </index>`, and `ask questions`_ if you
|
|
run into trouble.
|
|
|
|
.. _`Download the code`: http://www.djangoproject.com/download/
|
|
.. _ask questions: http://www.djangoproject.com/community/
|
|
|
|
What are Django's prerequisites?
|
|
--------------------------------
|
|
|
|
Django requires Python_, specifically any version of Python from 2.4
|
|
through 2.7. No other Python libraries are required for basic Django
|
|
usage.
|
|
|
|
For a development environment -- if you just want to experiment with Django --
|
|
you don't need to have a separate Web server installed; Django comes with its
|
|
own lightweight development server. For a production environment, Django
|
|
follows the WSGI_ spec, which means it can run on a variety of server
|
|
platforms. See :doc:`Deploying Django </howto/deployment/index>` for some
|
|
popular alternatives. Also, the `server arrangements wiki page`_ contains
|
|
details for several deployment strategies.
|
|
|
|
If you want to use Django with a database, which is probably the case, you'll
|
|
also need a database engine. PostgreSQL_ is recommended, because we're
|
|
PostgreSQL fans, and MySQL_, `SQLite 3`_, and Oracle_ are also supported.
|
|
|
|
.. _Python: http://www.python.org/
|
|
.. _WSGI: http://www.python.org/dev/peps/pep-0333/
|
|
.. _server arrangements wiki page: http://code.djangoproject.com/wiki/ServerArrangements
|
|
.. _PostgreSQL: http://www.postgresql.org/
|
|
.. _MySQL: http://www.mysql.com/
|
|
.. _`SQLite 3`: http://www.sqlite.org/
|
|
.. _Oracle: http://www.oracle.com/
|
|
|
|
Do I lose anything by using Python 2.4 versus newer Python versions, such as Python 2.5 or 2.6?
|
|
-----------------------------------------------------------------------------------------------
|
|
|
|
Not in the core framework. Currently, Django itself officially supports any
|
|
version of Python from 2.4 through 2.7, inclusive. However, newer versions of
|
|
Python are often faster, have more features, and are better supported. If you
|
|
use a newer version of Python you will also have access to some APIs that
|
|
aren't available under older versions of Python. For example Django provides
|
|
some `context managers`_ for various operations. If you use Python 2.4 you
|
|
won't be able to use them, however other APIs which provide the same
|
|
functionality are always made available.
|
|
|
|
Third-party applications for use with Django are, of course, free to set their
|
|
own version requirements.
|
|
|
|
Over the next year or two Django will begin dropping support for older Python
|
|
versions as part of a migration which will end with Django running on Python 3
|
|
(see below for details).
|
|
|
|
All else being equal, we recommend that you use the latest 2.x release
|
|
(currently Python 2.7). This will let you take advantage of the numerous
|
|
improvements and optimizations to the Python language since version 2.4, and
|
|
will help ease the process of dropping support for older Python versions on
|
|
the road to Python 3.
|
|
|
|
.. _context managers: http://docs.python.org/reference/datamodel.html#context-managers
|
|
|
|
Can I use Django with Python 2.4?
|
|
---------------------------------
|
|
|
|
As of Django 1.4, no.
|
|
|
|
Django 1.3 and earlier supported Python 2.4. Django 1.4 (the current development
|
|
version, which hasn't been officially released) and newer version require
|
|
Python 2.5 or greater (but not 3.x; see the next question.)
|
|
|
|
We highly recommend you upgrade Python if possible, but Django 1.3.x will
|
|
continue to support Python 2.4.
|
|
|
|
Can I use Django with Python 3?
|
|
-------------------------------
|
|
|
|
Not at the moment. Python 3.0 introduced a number of
|
|
backwards-incompatible changes to the Python language, and although
|
|
these changes are generally a good thing for Python's future, it will
|
|
be a while before most Python software catches up and is able to run
|
|
on Python 3.0. For larger Python-based software like Django, the
|
|
transition is expected to take at least a year or two (since it
|
|
involves dropping support for older Python releases and so must be
|
|
done gradually).
|
|
|
|
In the meantime, Python 2.x releases will be supported and provided
|
|
with bug fixes and security updates by the Python development team, so
|
|
continuing to use a Python 2.x release during the transition should
|
|
not present any risk.
|
|
|
|
Will Django run under shared hosting (like TextDrive or Dreamhost)?
|
|
-------------------------------------------------------------------
|
|
|
|
See our `Django-friendly Web hosts`_ page.
|
|
|
|
.. _`Django-friendly Web hosts`: http://code.djangoproject.com/wiki/DjangoFriendlyWebHosts
|
|
|
|
Should I use the stable version or development version?
|
|
-------------------------------------------------------
|
|
|
|
Generally, if you're using code in production, you should be using a
|
|
stable release. The Django project publishes a full stable release
|
|
every nine months or so, with bugfix updates in between. These stable
|
|
releases contain the API that is covered by our backwards
|
|
compatibility guarantees; if you write code against stable releases,
|
|
you shouldn't have any problems upgrading when the next official
|
|
version is released.
|