Framework webapp

Opis wbudowanego w Google App Engine frameworka webapp na prostym przykładzie.

Google App Engine wspiera każdy framework napisany w czystym Pythonie posiadający możliwość działania poprzez CGI (a także każdy zgodni z WSGI używający CGI) - Django, CherryPy, Pylons czy web.py. Wystarczy skopiować kod frameworka do katalogu aplikacji. GAE zawiera własny, prosty framework o nazwie webapp. Aplikacja napisana za pomocą webapp składa się z trzech części:
  • Jednego lub większej ilości klas RequestHandler, które obsługują żądania i budują odpowiedź
  • Instancji WSGIApplication, która mapuje przychodzące żądania na podstawie URLi
  • Główna funkcja wykonująca WSGIApplication przez adaptor CGI
Zmień kod helloworld/helloworld.py na poniższy:
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app

class MainPage(webapp.RequestHandler):
	def get(self):
		self.response.headers['Content-Type'] = 'text/html; charset=utf-8'
		self.response.out.write('Witaj <b>świecie</b>!')

application = webapp.WSGIApplication(
					[('/', MainPage)],
					debug=True)

def main():
	run_wsgi_app(application)

if __name__ == "__main__":
	main()
W powyższym przykładzie mamy jeden RequestHandler o nazwie MainPage, który mapowany jest pod odnośnik "/". Parametr debug=true dla WSGIApplication powoduje wyświetlanie wyjątków i błędów w oknie przeglądarki, co przydatne jest przy tworzenia aplikacji. Funkcja run_wsgi_app przyjmuje instancję WSGIApplication lub innej WSGI-zgodnej aplikacji i wykonuje ją w środowisku GAE.
blog comments powered by Disqus

Kategorie

Strony