Pyramid en Google App Engine
La revisió el 17:16, 18 feb 2013 per Enric (discussió | contribucions)
Crearem un projecte Python: Pyramid framework per instal·lar-ho després al Google App Engine (GAE).
Contingut
Intro
Treballarem amb el Buildout igual que hem fet amb la resta de projectes.
- Principal: http://docs.pylonsproject.org/projects/pyramid_cookbook/en/latest/
- Tutorial amb Buildout: http://docs.pylonsproject.org/projects/pyramid_cookbook/en/latest/deployment/gae_buildout.html
Seguint els passos d'aquest tutorial podem posar en marxa el nostre primer projecte.
Utilitzant Mako
Si volem utilitzar les plantilles Mako (que són les que hem utilitzat des del principi) caldrà fer alguns ajustos al tutorial anterior:
ULL: si afegim noves plantilles al projecte cal refer el buildout amb:
$ bin/buildout -v
__init__.py
Afegirem a la funció make_app():
...
__here__ = os.path.dirname(os.path.abspath(__file__))
...
def make_app():
...
settings = {}
settings['mako.directories'] = os.path.join(__here__, 'templates')
config = Configurator( root_factory=Root, settings=settings )
...
# afegim la url "/home" (sense decorators ni scan)
config.add_route( "home", "/home" )
config.add_view( views.home_view, route_name="home", renderer="main.mako" )
# OJU: el config.scan() no li agrada al GAE!!
views.py
Afegirem les views pertinents:
# OJU: al GAE no li agraden els decorators @view_config !!!
def home_view( request ):
return {"project":"gapp1"}
templates/main.mako
<html>
<head>
<title>${project}</title>
</head>
<body>
<h1>Projecte ${project}</h1>
<p>Aviam que tal va aixo...</p>
</body>
</html>
Afegir plantilles
Quan afegim una nova plantilla .mako cal refer el projecte, ja que els arxius s'han de traslladar al directori "parts":
$ bin/buildout -v