Apr 08 2008

Django on AppEngine

Published by Chris McAvoy at 8:51 pm under Python, Projects, appengine

I started my first AppEngine project this evening. I was lucky enough to get into the Beta. I don’t want to be too gushy or hyperbolic, but this is the future folks.

I’m not going to cover the bits about what appengine is, I’m assuming you’ve heard. If not, head over to the appengine site and do some reading. If you’re a little bit confused about WSGI, I encourage you to read anything Ian Bicking has written over the past few years, or my humble article on building a wsgi app.

So…my plan is to build a tomato tracking application on top of THE CLOUD (cue the music). The wife and I are planting a bunch of tomatoes this year, so I’m sort of hopped up on them. The app will let folks to report on the life, well being, and eventual yields of their backyard tomatoes. It’s going to be the world’s greatest web application. I’m going to develop it before a live studio audience via the TomatoBase Google Code Project. The app will live at http://tomatobase.appspot.com.

So far, there’s not much there. Just a landing page that says something pithy, that’s protected by a Google user login. I initially thought I’d jump feet first into the Google themed stack, using their very fancy webapp api, but after reading how easy it is to just go for Django, I decided to go with what I know. There’s a few gotchas, it’s really more like Django-Lite, but it’s still pretty darn good. You lose the ORM and Admin, but still get the url mapper, controllers, middleware, templates…oh, and BigTable. Pretty good trade as far as I’m concerned.

Developing with the toolkit is pretty slick, everything runs locally until you’re ready to push, and then it’s a quick “appcfg.py update django-mater” and it goes live. So simple. I love it.

I haven’t really ventured beyond exploration into actual TomatoBase development just yet. I started exploring the user system a bit, it’s pretty straight-forward. So straight-forward that I contributed a decorator to Django Snippets that lets you use the user system in a @loginrequired sort of way. It’s here: Google AppEngine Login Decorator.

I’m moving much quicker on this than I anticipated. I thought I wouldn’t have time to explore until this weekend, but it’s a really compelling product. I’m excited for them to open it up to a wider audience. At some point I’ll write a bit about what I think this all means (this means something), but for now I’m too busy playing.


Share and Enjoy:
These icons link to social bookmarking sites where readers can share and discover new web pages.

  • del.icio.us
  • digg
  • Reddit
  • StumbleUpon

4 Responses to “Django on AppEngine”

  1. pamon 08 Apr 2008 at 11:46 pm

    I think you should hook TomatoBase up to twitter. I want real-time updates on your tomato plants!

  2. Work Is Terribly Importanton 09 Apr 2008 at 8:27 am

    AttAttack of the Killer Tomatoes!…

    Google App Engine already has it’s Killer App….

  3. Dan Bravenderon 09 Apr 2008 at 8:42 am

    Chris,

    Unbelievable! I found your googleapp site after googling for inurl:appspot.com just to see what people were doing. I’m jealous that you got an account. I was sleeping over here in Korea when it was announced to the rest of the world!

    Dan

  4. M Lon 21 Apr 2008 at 10:07 am

    Cris, would you like to try out something for Ruby on Rails? Go check out the implementation at morphexchange.com.

Trackback URI | Comments RSS

Leave a Reply