Django can be installed on a shared environment if you use FastCGI with it.
Note: You will need the FLUP module for Python 2.4 to run FastCGI, and you will need the pysqlite2 module to run SQLite3.
In your public_html directory, add this to your file named .htaccess:
AddHandler fcgid-script .fcgi
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ mysite.fcgi/$1 [QSA,L]
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ mysite.fcgi/$1 [QSA,L]
Then, create a small script that tells Apache how to spawn your FastCGI program. Create a file mysite.fcgi and place it in your Web directory, and be sure to make it executable:
#!/usr/bin/env python
import os, user, sys
sys.path.insert(0, "/home/USERNAME/django/")
sys.path.insert(0, "/home/USERNAME/django/projects")
sys.path.insert(0, "/home/USERNAME/django/projects/newproject")
# Switch to the directory of your project. (Optional.)
#os.chdir("/home/USERNAME/django/projects/newproject")
# Set the DJANGO_SETTINGS_MODULE environment variable.
os.environ['DJANGO_SETTINGS_MODULE'] = "newproject.settings"
from django.core.servers.fastcgi import runfastcgi
runfastcgi(method="threaded", daemonize="false")
import os, user, sys
sys.path.insert(0, "/home/USERNAME/django/")
sys.path.insert(0, "/home/USERNAME/django/projects")
sys.path.insert(0, "/home/USERNAME/django/projects/newproject")
# Switch to the directory of your project. (Optional.)
#os.chdir("/home/USERNAME/django/projects/newproject")
# Set the DJANGO_SETTINGS_MODULE environment variable.
os.environ['DJANGO_SETTINGS_MODULE'] = "newproject.settings"
from django.core.servers.fastcgi import runfastcgi
runfastcgi(method="threaded", daemonize="false")
The paths are assuming that the following URL was used.
http://docs.google.com/Doc?id=dhhpr5xs_463522g



RewriteRule ^(.+)$ mysite.fcgi/$1 [QSA,L]
would convert your entire site to being just a Django site - which may not be your intention.
Most likely you want one rewrite rule for your Django Admin and one for your Django project itself.
Going to the URL
http://your-site.com/my-own.fcgi
should result in something other than a page error.
You cannot test the FCGI script from a shell: it must run in the context of the web server to have its WSGI envrionement set.
Minimally if you run it in a shell from your web root, it should output the contents of the 500.html file in your project's admin templates.