Diferència entre revisions de la pàgina «Pyramid en Google App Engine»
Salta a la navegació
Salta a la cerca
Línia 1: | Línia 1: | ||
− | Crearem un projecte [[Python: Pyramid framework]] per instal·lar-ho després al Google App Engine. | + | Crearem un projecte [[Python: Pyramid framework]] per instal·lar-ho després al Google App Engine (GAE). |
+ | <br> | ||
== Intro == | == Intro == | ||
Línia 30: | Línia 31: | ||
config = Configurator( root_factory=Root, settings=settings ) | config = Configurator( root_factory=Root, settings=settings ) | ||
... | ... | ||
− | config.add_route( "home", "/home" ) | + | # afegim la url "/home" (sense decorators ni scan) |
− | config.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!! | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
Línia 38: | Línia 42: | ||
Afegirem les views pertinents: | Afegirem les views pertinents: | ||
<syntaxhighlight lang="python"> | <syntaxhighlight lang="python"> | ||
− | + | # OJU: al GAE no li agraden els decorators @view_config !!! | |
− | |||
− | @view_config | ||
def home_view( request ): | def home_view( request ): | ||
return {"project":"gapp1"} | return {"project":"gapp1"} |
Revisió del 17:16, 18 feb 2013
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