Pyramid en Google App Engine

De Cacauet Wiki
Salta a la navegació Salta a la cerca

Crearem un projecte Python: Pyramid framework per instal·lar-ho després al Google App Engine (GAE).

Intro

Treballarem amb el Buildout igual que hem fet amb la resta de projectes.

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