Commit 30de7331 authored by Jacob Kaplan-Moss's avatar Jacob Kaplan-Moss
Browse files

Fixed #8326: added documentation about running Django on Jython. Docs...

Fixed #8326: added documentation about running Django on Jython. Docs originally written by Leo Soto, and then cleaned up a bit by me.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@8582 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent c5c61b26
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ you quickly accomplish common tasks.
   deployment/index
   error-reporting
   initial-data
   jython
   legacy-databases
   outputting-csv
   outputting-pdf

docs/howto/jython.txt

0 → 100644
+85 −0
Original line number Diff line number Diff line
.. _howto-jython:

========================
Running Django on Jython
========================

.. index:: Jython, Java, JVM

Jython_ is an implementation of Python that runs on the Java platform (JVM).
Django runs cleanly on Jython version 2.5 or later, which means you can deploy
Django on any Java platform.

This document will get you up and running with Django on top of Jython.

.. _jython: http://jython.org/

Installing Jython
=================

Django works with Jython versions 2.5 and higher. 

.. warning::

    As of the writing of this document, a version of Jython compatible with
    Django has not yet been released. The forthcoming 2.5a2+ release will be be
    the first in which Django will work out of the box. 
    
    In the meantime, you'll need to use the latest development version of Jython
    obtained from Jython's SVN repository.

Download Jython at http://jython.org/.

Creating a servlet container
============================

If you just want to experiment with Django, skip ahead to the next section;
Django includes a lightweight Web server you can use for testing, so you won't
need to set up anything else until you're ready to deploy Django in production.

If you want to use Django on a production site, use a Java servlet container,
such as `Apache Tomcat`_. Full JavaEE applications servers such as `GlassFish`_
or `JBoss`_ are also OK, if you need the extra features they include.

.. _`Apache Tomcat`: http://tomcat.apache.org/
.. _GlassFish: https://glassfish.dev.java.net/
.. _JBoss: http://www.jboss.org/

Installing Django
=================

The next step is to install Django itself. This is exactly the same as
installing Django on standard Python, so see
:ref:`removing-old-versions-of-django` and :ref:`install-django-code` for
instructions.

Installing Jython platform support libraries
============================================

The `django-jython`_ project contains database backends and management commands
for Django/Jython development. Note that the builtin Django backends won't work
on top of Jython.

.. _`django-jython`: http://code.google.com/p/django-jython/

To install it, follow the `installation instructions`_ detailed on the project
website. Also, read the `database backends`_ documentation there.

.. _`installation instructions`: http://code.google.com/p/django-jython/wiki/Install
.. _`database backends`: http://code.google.com/p/django-jython/wiki/DatabaseBackends

Differences with Django on Jython
=================================

.. index:: JYTHONPATH

At this point, Django on Jython should behave nearly identically to Django
running on standard Python. However, are a few differences to keep in mind:

    * Remember to use the ``jython`` command instead of ``python``. The
      documentation uses ``python`` for consistancy, but if you're using Jython
      you'll want to mentally replace ``python`` with ``jython`` every time it
      occurs.
     
    * Similarly, you'll need to use the ``JYTHONPATH`` environment variable
      instead of ``PYTHONPATH``.
+1 −0
Original line number Diff line number Diff line
@@ -137,6 +137,7 @@ And more:
    * :ref:`howto-custom-model-fields`
    * :ref:`howto-error-reporting`
    * :ref:`howto-initial-data`
    * :ref:`howto-jython`
    * :ref:`howto-static-files`

Reference
+7 −0
Original line number Diff line number Diff line
@@ -19,6 +19,13 @@ version 2.3 and higher, but we recommend installing Python 2.5 or later. If you
Get Python at http://www.python.org. If you're running Linux or Mac OS X, you
probably already have it installed.

.. admonition:: Django on Jython

    If you use Jython_ (a Python implementation for the Java platform), you'll
    need to follow a few additional steps. See :ref:`howto-jython` for details.

.. _jython: http://jython.org/

You can verify that Python's installed py typing ``python`` from your shell; you should see something like::

    Python 2.5.1 (r251:54863, Jan 17 2008, 19:35:17) 
+9 −0
Original line number Diff line number Diff line
@@ -16,6 +16,13 @@ It works with any Python version 2.3 and higher.
Get Python at http://www.python.org. If you're running Linux or Mac OS X, you
probably already have it installed.

.. admonition:: Django on Jython

    If you use Jython_ (a Python implementation for the Java platform), you'll
    need to follow a few additional steps. See :ref:`howto-jython` for details.

.. _jython: http://jython.org/

Install Apache and mod_python
=============================

@@ -129,6 +136,8 @@ This file should also be located in your ``site-packages`` directory.
    (Note that this should be run from a shell prompt, not a Python interactive
    prompt.)
    
.. _install-django-code:

Install the Django code
=======================