Skip to content

Instantly share code, notes, and snippets.

@fisherds
Created August 19, 2014 04:55
Show Gist options
  • Select an option

  • Save fisherds/d7ed564de685bb0b4535 to your computer and use it in GitHub Desktop.

Select an option

Save fisherds/d7ed564de685bb0b4535 to your computer and use it in GitHub Desktop.
Google AppEngine Handlers for a simple MovieQuotes web app
import os
from google.appengine.ext import ndb
import jinja2
from models import MovieQuote
import webapp2
jinja_env = jinja2.Environment(
loader=jinja2.FileSystemLoader(os.path.dirname(__file__)),
autoescape=True)
# Generic key used to group MovieQuotes into an entity group.
PARENT_KEY = ndb.Key("Entity", 'moviequote_root')
class MovieQuotesPage(webapp2.RequestHandler):
def get(self):
moviequotes_query = MovieQuote.query(ancestor=PARENT_KEY).order(-MovieQuote.last_touch_date_time)
template = jinja_env.get_template("templates/moviequotes.html")
self.response.out.write(template.render({"moviequotes_query": moviequotes_query}))
class AddQuoteAction(webapp2.RequestHandler):
def post(self):
new_quote = MovieQuote(parent=PARENT_KEY,
quote=self.request.get("quote"),
movie=self.request.get("movie"))
new_quote.put()
self.redirect(self.request.referer)
app = webapp2.WSGIApplication([
("/", MovieQuotesPage),
("/addquote", AddQuoteAction)
], debug=True)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment