Django requires Python, specifically Python 2.6.5 - 2.7.x. No other Python libraries are required for basic Django usage. Django 1.5 also has experimental support for Python 3.2.3 and above.
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, PEP 3333, which means it can run on a variety of server platforms. See Deploying Django 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.
Not in the core framework. Currently, Django itself officially supports Python 2.6 (2.6.5 or higher) and 2.7. 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.
Third-party applications for use with Django are, of course, free to set their own version requirements.
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.6.
Generally speaking, we don’t recommend running Django on Python 3 yet; see below for more.
Django version | Python versions |
---|---|
1.0 | 2.3, 2.4, 2.5, 2.6 |
1.1 | 2.3, 2.4, 2.5, 2.6 |
1.2 | 2.4, 2.5, 2.6, 2.7 |
1.3 | 2.4, 2.5, 2.6, 2.7 |
1.4 | 2.5, 2.6, 2.7 |
1.5 (future) | 2.6, 2.7 and 3.2.3, 3.3 (experimental) |
Django 1.5 introduces experimental support for Python 3.2.3 and above. However, we don’t yet suggest that you use Django and Python 3 in production.
Python 3 support should be considered a “preview”. It’s offered to bootstrap the transition of the Django ecosystem to Python 3, and to help you start porting your apps for future Python 3 compatibility. But we’re not yet confident enough to promise stability in production.
Our current plan is to make Django 1.6 suitable for general use with Python 3.
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.
Dec 23, 2012