Sun GlassFish Enterprise Server v3 Scripting Framework Guide

Chapter 3 Jython on Django

This chapter provides an overview of Jython and Django and how to get started using them on Sun GlassFish Enterprise Server.

The following topics are addressed here:

Overview

Jython is a JavaTM implementation of the Python language. Jython is integrated with the Java platform and generates the code that runs on Java. Jython implements almost all modules of Python, except those written in C. Jython programs can import and use Java classes effortlessly. Jython provides the following advantages:

To learn more about Jython, see the Jython project site.

Django is a web framework for Python and implementations of Python such as Jython. Django allows quick and easy creation of high-performance web applications. Django provides the following advantages:

To learn more about Django, see the Django project site.

You have the advantages of both Jython and Django when you build web applications using Jython on Django for the Enterprise Server.

Installing Jython and Django

To develop Jython on Django applications for Enterprise Server, you must do the following :

Jython can be installed in one of the following ways:

The following sections explain these tasks in more detail.

ProcedureTo Install Jython as Standalone

You can download Jython and install it as a standalone product. If Jython is installed as standalone, you need to inform the Jython install location to the Enterprise Server.

  1. Download Jython from the following location:

    http://downloads.sourceforge.net/project/jython/jython/2.5.1/jython_installer-2.5.1.jar

  2. Run the installer as follows:

    java -jar jython_installer-2.5.1.jar

  3. Set the following environmental variables:

    Set the JYTHON_HOME variable to the Jython install location:

    export JYTHON_HOME=/jython-install-location

    Add the JYTHON_HOME/bin directory to the path:

    export PATH=$JYTHON_HOME/bin:$PATH

    You should now be able to invoke Jython from command line as follows:

    jython

  4. Inform and configure the Enterprise Server with the location of Jython installation with the following command:

    asadmin deploy --property jython.home=/jython-install-location

ProcedureTo Install Jython from Update Center

The GlassFish Update Center provides a Jython package. The package installs a Jython instance that enables creation of Jython applications for the Enterprise Server. If you installed Jython from Update Center, there is no need for further configuration of jython.home property.

  1. Start the Update Tool with the following command:


    as-install/bin/updatetool
  2. Choose the following option from Available Add-ons and click Install:


    Jython Runtime IPS package for GlassFish v3

    Update center automatically completes the installation of the container and configures it for use with Enterprise Server.

  3. Set the following environmental variables:

    Set the JYTHON_HOME variable to the Jython install location:

    export JYTHON_HOME=/as-install/glassfish/jython

    Add the JYTHON_HOME/bin directory to the path:

    export PATH=$JYTHON_HOME/bin:$PATH

    You should now be able to invoke Jython from command line as follows:

    jython

ProcedureTo Install Django

  1. Download Django from the following location:

    http://media.djangoproject.com/releases/1.1.1/Django-1.1.1.tar.gz.

  2. Extract the tar file:

    gunzip Django-1.1.1.tar.gz

    tar -xvf Django-1.1.1.tar

  3. Change to the extracted directory:

    cd Django-1.1.1

  4. Install Django with the following command:

    jython setup.py install

ProcedureTo Install Jython Container for Sun GlassFish Enterprise Server

The GlassFish Update Center provides the Jython container package. With this task you can install Jython Container module and Grizzly adapter JAR files in the as-install/glassfish/modules directory, and enable deployment of Jython/Django applications on the Enterprise Server.


Note –

Make sure that the asadmin command is available from the PATH variable. Alternately you can use the as-install/bin/asadmin command.


  1. Start the Update Center with the following command:


    as-install/bin/updatetool
  2. Choose the following option from Available Add-ons and click Install:


    GlassFish V3 Jython Container

    Update center automatically completes the installation of the container and configures it for use with Enterprise Server.

  3. Start the Enterprise Server:

    asadmin start-domain -v

  4. Test the configuration with the following process:

    1. Change to Django examples directory:

      cd Django-1.1.1/samples

    2. Deploy the example applications on the server:

      asadmin deploy .

    3. Access the deployed example applications from browser:


      http://localhost:8080/examples

ProcedureTo Install Jython Support Libraries for Django

The django-jython project created database back-ends and management commands for Django and Jython application development. With this task you can install the django-jython packages and enable database support for Django.

  1. Download the django-jython packages from the following location:

    http://django-jython.googlecode.com/files/django-jython-1.0.0.tar.gz

  2. Extract the tar file:

    gunzip django-jython-1.0.0.tar.gz

    tar -xvf django-jython-1.0.0.tar

  3. Change to the extracted directory:

    cd django-jython-1.0.0

  4. Install the package:

    jython setup.py install

Creating and Deploying a Simple Jython Application using Django

After completing the software installations, you are ready to create Jython applications using Django. This section explains how to create a simple application. GlassFish users can deploy Django applications with the directory deployment method.

ProcedureTo Create a Simple Django Project

Django comes with a built-in administration utility. You can enable it to make the process of creating projects easier.

  1. Use the following command to enable the Django administration utility:

    alias django–admin-jy="jython jython-install-location/bin/django-admin.py"

  2. Change to Django install directory:

    cd django-install-location

  3. Use the following command to create a project:

    django-admin-jy startproject <myproject>

ProcedureTo Deploy a Django Application From Command Line

To deploy a Django application from the command line using the asadmin command, do the following:

  1. Make sure JYTHON_HOME and PATH environmental variables are set.

  2. Change to the directory containing the project. For example:

    cd /tools/jython/projects

  3. Use the following command to deploy the application:

    asadmin deploy myproject/

asadmin CLI for Jython

The asadmin deploy command allows you to set deployment specific properties for the Jython applications. The following table lists these properties.

Table 3–1 Jython Properties

Property 

Default Value 

Possible Value 

Description 

jython.home

None 

Path to a directory 

Path to a Jython installation. Required. 

jython.mediaRoot

None 

Path to a directory 

Optional parameter containing the path to the location, for server to serve the static files.  

jython.frameworkRoot

None 

Path to a directory 

Optional parameter containing the path of the framework being used. Currently supports Django. 

jython.applicationType

None 

String representing application type such as Django 

Optional parameter to specify the framework, including non-Django applications. 

Use the following command syntax to set these properties:

asadmin deploy --property <property>=<value>

For example, you can set the jython.frameworkRoot property to Django directory as follows:

asadmin deploy --property jython.frameworkRoot=/django-install-location

These values are persistent in the domain.xml file.

Using the Django Administration Utility

The previous sections discussed Jython on Django installation and configuration for Sun GlassFish Enterprise Server. To utilize the Django administration utility for creating applications based on a database, you need a database and the JDBC drivers for Jython to connect to that database. The following steps briefly describe the tasks involved:

  1. Install a database such as PostgreSQL.

  2. Create a database instance.

  3. Install django–jython packages for the database connectors, if not already installed.

  4. Edit the settings.py file and configure the database.

  5. Edit the settings.py file and configure the administration utility.

  6. Add the database drivers to the class path to allow Jython to access the database.

  7. Sync the database with the following command:

    jython manage.py syncdb

  8. Edit the urls.py file and uncomment the lines pertaining to the administration utility.

  9. Make the stylesheets available to the Jython container:

    asadmin deploy --property jython.mediaRoot=/jython-install-location/Lib/site-packages/django/contrib/admin/

You can obtain more information on how to install and use databases with Django administration from the following tutorial:

http://weblogs.java.net/blog/vivekp/archive/2009/06/run_django_appl_1.html

Further Information

The following links contains more details on the information provided in this chapter: