Django
Starting working from a Packt Publishing copy of the Django book, then realized the book itself is an open source project here: http://djangobook.com/ I installed django as described in chaper 2 from the github repo.
What exactly do I get with Django?
A nice mvc and orm based framework for writing web-based applications.
An administration module that includes web-based user account management. If you enable it. http://localhost:8000/admin/ Look at all the code I didn't have to write. Marvelous.
Initial tests
My initial testing will be with SQLite, then I will move on to postgresql to get PostGIS going. SQLite is built in to Python so it's a pretty obvious track to follow.
I am also interested to see how to work with Django and Komodo 8.
Installing
I had an old copy installed (1.3.1) and wanted 1.5.2 before pitching headlong into the tutorial.
% sudo pip install django --upgrade . . . Successfully installed django % python -c "import django; print(django.get_version())" 1.5.2
Minimal tester
Just want a page to come up so that I can install the Google Cloud Messaging for django thing and try it out. Will set up Django then go look at that page.
Crib sheet
I am working my way through the "getting started" tutorial and making my own notes here.
Set up a django "project"
cd ~/Projects mkdir Django cd Django django-admin.py startproject gcm_test_site
Run it; connect from browser
cd gcm_test_site python manage.py runserver 0.0.0.0:8000
Connect to the server using its name and port 8000, for example http://wildsong.biz:8000 (example only, nothing there!) You should see:
"It worked! Congratulations on your first Django-powered page."
Now I need to get it to do something useful. For starters how about emulating the ugly GCM server page, which just has number of registered clients and a send button.
Create a sample app
# For simplicity, same place as the project. cd ~/Projects/gcm_test_site python manage startapp poll
The gcm_form will have a page with an area for client status and a button to send a dispatch message.
Define the database here poll/models.py
Create the database by telling django to use sqlite3 and the name of the db file in the settings.py file then run this to create all the table
python manage.py syncdb
GCM
After downloading django-gcm from github, running make will upgrade your django installation and install requirements.
sudo make
It misses mimeparse though. Hence
sudo pip install mimeparse
Pip reminds me of cpan. Ah, the golden days of perl! How I fail to miss them! Cpan was a high point actually.
cd example/ python manage.py syncdb python manage.py runserver 0.0.0.0:8000
...answered a couple q's and we're running. Log in with browser to http://yourhost:8000/admin/