94 lines
3.9 KiB
Plaintext
94 lines
3.9 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`: https://www.djangoproject.com/download/
|
|
.. _ask questions: https://www.djangoproject.com/community/
|
|
|
|
What are Django's prerequisites?
|
|
================================
|
|
|
|
Django requires Python. See the table in the next question for the versions of
|
|
Python that work with each version of Django. Other Python libraries may be
|
|
required for some use cases, but you'll receive an error about them as they're
|
|
needed.
|
|
|
|
For a development environment -- if you just want to experiment with Django --
|
|
you don't need to have a separate Web server installed or database server.
|
|
|
|
Django comes with its own :djadmin:`lightweight development server<runserver>`.
|
|
For a production environment, Django follows the WSGI spec, :pep:`3333`, which
|
|
means it can run on a variety of web servers. See :doc:`Deploying Django
|
|
</howto/deployment/index>` for more information.
|
|
|
|
Django runs `SQLite`_ by default, which is included in Python installations.
|
|
For a production environment, we recommend PostgreSQL_; but we also officially
|
|
support MariaDB_, MySQL_, `SQLite`_, and Oracle_. See :doc:`Supported Databases
|
|
</ref/databases>` for more information.
|
|
|
|
.. _Python: https://www.python.org/
|
|
.. _PostgreSQL: https://www.postgresql.org/
|
|
.. _MariaDB: https://mariadb.org/
|
|
.. _MySQL: https://www.mysql.com/
|
|
.. _`SQLite`: https://www.sqlite.org/
|
|
.. _Oracle: https://www.oracle.com/
|
|
|
|
.. _faq-python-version-support:
|
|
|
|
What Python version can I use with Django?
|
|
==========================================
|
|
|
|
============== ===============
|
|
Django version Python versions
|
|
============== ===============
|
|
1.11 2.7, 3.4, 3.5, 3.6, 3.7 (added in 1.11.17)
|
|
2.0 3.4, 3.5, 3.6, 3.7
|
|
2.1 3.5, 3.6, 3.7
|
|
2.2 3.5, 3.6, 3.7, 3.8 (added in 2.2.8), 3.9 (added in 2.2.17)
|
|
3.0 3.6, 3.7, 3.8, 3.9 (added in 3.0.11)
|
|
============== ===============
|
|
|
|
For each version of Python, only the latest micro release (A.B.C) is officially
|
|
supported. You can find the latest micro version for each series on the `Python
|
|
download page <https://www.python.org/downloads/>`_.
|
|
|
|
Typically, we will support a Python version up to and including the first
|
|
Django LTS release whose security support ends after security support for that
|
|
version of Python ends. For example, Python 3.3 security support ended
|
|
September 2017 and Django 1.8 LTS security support ended April 2018. Therefore
|
|
Django 1.8 is the last version to support Python 3.3.
|
|
|
|
What Python version should I use with Django?
|
|
=============================================
|
|
|
|
Python 3 is recommended. Django 1.11 is the last version to support Python 2.7.
|
|
Support for Python 2.7 and Django 1.11 ends in 2020.
|
|
|
|
Since newer versions of Python are often faster, have more features, and are
|
|
better supported, the latest version of Python 3 is recommended.
|
|
|
|
You don't lose anything in Django by using an older release, but you don't take
|
|
advantage of the improvements and optimizations in newer Python releases.
|
|
Third-party applications for use with Django are, of course, free to set their
|
|
own version requirements.
|
|
|
|
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.
|