Diferència entre revisions de la pàgina «Python: Pyramid framework»

De Cacauet Wiki
Salta a la navegació Salta a la cerca
(Es crea la pàgina amb «Intro: * Pylons + repoze.bfg = Pyramid * Traversal vs. url_dispatcher * Estructura típica dels arxius en una web amb Pyramid (models, __init__, views, etc.) == Fase de …».)
 
Línia 5: Línia 5:
  
 
== Fase de desenvolupament ==
 
== Fase de desenvolupament ==
*virtualenv (ens caldrà prèviament als scaffolds): http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/install.html
+
Virutalenv és una potent eina que ens permetrà no haver d'instal·lar cap package al sistema operatiu. Podrem tenir una versió "neta" del python, sense cap llibreria, i instal·lar el què volguem sense afectar el comportarment del sistema (i, per tant, sense afectar a altres funcionalitats com l'escriptori). Cal recordar que ''Python'' és un llenguatge que s'utilitza en el Gnome i altres escritporis per aplicacions "stand-alone", pel que la instal·lació de paquets per l'escriptri podria afectar-nos al desenvolupament web i viceversa.
** Primer projecte en Pyramid amb "single file" (sense ''scaffold''): http://docs.pylonsproject.org/projects/pyramid_tutorials/en/latest/single_file_tasks/single_file_tasks.html
 
**Pyramid ''scaffolds'' (esquelet de projecte): http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/project.html
 
  
 +
Anem a pams:
 +
 +
* Virtualenv (ens caldrà prèviament als scaffolds): http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/install.html
 +
** El més important a partir d'ara és '''no instal·lar cap pakage de Python (easy_install) en el sistema operatiu'''. O sigui, a partir d'ara, no hem de fer "sudo" per a res, ja que tot ho instal·larem al virtualenv (carpeta env).
 +
** Un cop instal·lat el Virtualenv, a part de poder executar els scripts dintre de la carpeta "env" (nom típic), també podem ajustar l'entorn on treballem perquè, estiguem on estiguem, utilitzem les versions de les llibreries del virtualenv (encara que no estiguem al directori "env"): <pre>$ source env/bin/activate</pre>
 +
**: Si tot ha anat bé, hem de tenir un ''prompt'' amb el nom de la carpeta del Virtualenv:<pre>(env)enric@pepino:~$</pre>
 +
* Primer projecte en Pyramid amb "single file" (sense ''scaffold''): http://docs.pylonsproject.org/projects/pyramid_tutorials/en/latest/single_file_tasks/single_file_tasks.html
 +
* Pyramid ''scaffolds'' (esquelet de projecte): http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/project.html
 +
 +
Exercicis:
 +
# Instal·lar el virtualenv com es descriu en el link anterior.
 +
# Crear el primer projecte Pyramid "single-file" (tasks).
 +
# Crear un projecte Pyramid ("pyramidproject1") amb scaffolds (crear la plantilla que ve per defecte i arrencar el servidor).
 +
# Passar el projecte "tasks" al "pyramidproject1".
  
 
== Fase de deployment (desplegament, producció) ==
 
== Fase de deployment (desplegament, producció) ==

Revisió del 10:28, 9 nov 2012

Intro:

  • Pylons + repoze.bfg = Pyramid
  • Traversal vs. url_dispatcher
  • Estructura típica dels arxius en una web amb Pyramid (models, __init__, views, etc.)

Fase de desenvolupament

Virutalenv és una potent eina que ens permetrà no haver d'instal·lar cap package al sistema operatiu. Podrem tenir una versió "neta" del python, sense cap llibreria, i instal·lar el què volguem sense afectar el comportarment del sistema (i, per tant, sense afectar a altres funcionalitats com l'escriptori). Cal recordar que Python és un llenguatge que s'utilitza en el Gnome i altres escritporis per aplicacions "stand-alone", pel que la instal·lació de paquets per l'escriptri podria afectar-nos al desenvolupament web i viceversa.

Anem a pams:

Exercicis:

  1. Instal·lar el virtualenv com es descriu en el link anterior.
  2. Crear el primer projecte Pyramid "single-file" (tasks).
  3. Crear un projecte Pyramid ("pyramidproject1") amb scaffolds (crear la plantilla que ve per defecte i arrencar el servidor).
  4. Passar el projecte "tasks" al "pyramidproject1".

Fase de deployment (desplegament, producció)

Apache i WSGI

Buildout

El buildout ens permet construir projectes amb divereses versions dels packages necessaris. Així no tindrem conflictes de diverses aplicacions en un mateix entorn de producció (passaria si instal·lessim els packages al sistema).

import sys
sys.setdefaultencoding('utf-8')