Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
92 lines (59 sloc) 2.21 KB

GAE Skel

A lame skeleton for GAE.

What’s in?

  • Routes (BSD): a Python re-implementation of the Rails routes system for mapping URL’s to Controllers/Actions and generating URL’s.
  • Jinja2 (BSD): a small but fast and easy to use stand-alone template engine written in pure python.
  • GAESkel (Apache2.0) – glue to assamble Routes and Jinja2 in GAE Environment.
  • Textile (BSD): a Humane Web Text Generator

WSGI implementation is based on Match Webapp URL’s Using Routes.

Hello World (in progress)

Warming up

~/Projects> git clone git://
~/Projects> cd gaeskel
~/Projects/gaeskel> cp app.yaml.sample app.yaml

change the application id to match yours.

Check your GAE!

~/Projects/gaeskel> .

One Controller. One Action to render text.

~/Projects/gaeskel> mkdir helloworld
~/Projects/gaeskel> touch helloworld/
~/Projects/gaeskel> mkdir helloworld/controllers
~/Projects/gaeskel> touch helloworld/controllers/
~/Projects/gaeskel> cat > helloworld/controllers/
from gaeskel.controller import Application

class Foo(Application):
  def hi(self):
    self.render_text("Har-Har HAMEL.")

~/Projects/gaeskel> vim

add map.connect('/hi', controller='', action='hi') to Routes.

Another Controller. And a template

~/Projects/gaeskel> cat > helloworld/controllers/
from gaeskel.controller import Application

class Bar(Application):
  def hello_template(self):

~/Projects/gaeskel> mkdir -p helloworld/templates/bar
~/Projects/gaeskel> cat > helloworld/templates/bar/hello_tempalte.html
<p>Hello Template</p>


  • haml?

Contact / License

 Copyright 2008, 2009 Aurelian Oancea

 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at

oancea at gmail dot com

Something went wrong with that request. Please try again.