Home > django > Djangoappengine – setting up

Djangoappengine – setting up

Set up djangoappengine.

1. Download appengine from http://code.google.com/appengine/downloads.html. (I am using Google App Engine SDK for Python – Linux/Other Platforms)
2. Download djangoappengine http://www.allbuttonspressed.com/projects/djangoappengine. The instructions on how to install are on the same page.
3. From the djangoappengine page.

Copy the following folders into your project (e.g., django-testapp):

* django-nonrel/django => /django
* djangotoolbox/djangotoolbox => /djangotoolbox
* django-autoload/autoload => /autoload
* django-dbindexer/dbindexer => /dbindexer
* djangoappengine => /djangoappengine

That’s it. Your project structure should look like this:

* /django
* /djangotoolbox
* /autoload
* /dbindexer
* /djangoappengine

Copy the folders from the zipped files into you django-testapp folder so that you have the same project structure as above. (In my case project was simply the django-testapp folder).

4. Within django-testapp folder run

user@computer:~$ cd /home/user/google_appengine/django-testapp
user@computer:~/google_appengine/django-testapp$python2.5 manage.py runserver
The Google App Engine SDK could not be found!
Make sure it's accessible via your PATH environment and called google_appengine.

5. I needed to add google_appengine to where djangoappengine would find it.
From what I could tell, djangoappengine looks for google_appengine in various folders one of them being /usr/local/google_appengine. So I simply created a symbolic link to that folder. I had installed google_appengine in /home/user/google_appengine. So as root I created a symbolic link.

root@computer:~# ln -s /home/user/google_appengine /usr/local/google_appengine

6. Within django-testapp folder run

user@computer:~/google_appengine/django-testapp$python2.5 manage.py runserver
WARNING:root:No ssl package found. urlfetch will not be able to validate SSL certificates.
WARNING:root:Could not read datastore data from /home/user/google_appengine/django-testapp/.gaedata/datastore
INFO:google.appengine.tools.appengine_rpc:Server: appengine.google.com
WARNING:root:Could not read datastore data from /home/user/google_appengine/django-testapp/.gaedata/datastore
INFO:root:Connecting to SQLite database '' with file '/home/user/google_appengine/django-testapp/.gaedata/rdbms'
INFO:root:Running application ctst on port 8021:

NB. I am ignoring the warnings for now. I will post again once I figure out how to sort them out.

7. Open a browser and go to


If you get the above screen shot then you are good to go.

Update (15th September 2011):
1. The data store warning should go once you add data to your datastore.
2. For the follwing warning

WARNING:root:You are using the default Django version (0.96). The default
Django version will change in an App Engine release in the near future.
Please call use_library() to explicitly select a Django version. For more
information see

Add to main.py as per app.yaml. In my case it is

– url: /.*
script: djangoappengine/main/main.py

os.environ[‘DJANGO_SETTINGS_MODULE’] = ‘settings’

from google.appengine.dist import use_library
use_library(‘django’, ‘1.2’)

But when I do that I get this error

UnacceptableVersionError: django 1.2 was requested, but 1.3.0.final.0 is already in use

When I set it to use_library(‘django’, ‘1.3’) I get

ValueError: 1.3 is not a supported version for django; supported versions are [‘0.96’, ‘1.0’, ‘1.1’, ‘1.2’]

So I am ignoring the warning and not adding use_library to my main.py.

Categories: django Tags: ,
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: