Diferència entre revisions de la pàgina «Python: Pyramid framework»
(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 == | ||
− | + | 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: | ||
+ | |||
+ | * 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.)
Contingut
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:
- 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"):
$ source env/bin/activate
- Si tot ha anat bé, hem de tenir un prompt amb el nom de la carpeta del Virtualenv:
(env)enric@pepino:~$
- Si tot ha anat bé, hem de tenir un prompt amb el nom de la carpeta del Virtualenv:
- 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ó)
Apache i WSGI
- Apache i WSGI: http://code.google.com/p/modwsgi/wiki/InstallationInstructions
- Configurant WSGI: http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide
- Integració de Apache WSGI i Pylons: http://code.google.com/p/modwsgi/wiki/IntegrationWithPylons
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).
- Article principal (cacauet): Buildout
- Variables d'entorn al fitxer .ini: http://pyramid.readthedocs.org/en/latest/narr/environment.html
- En producció, per problemes de la codificació per defecte i canviar-la a "utf-8", editar /usr/lib/pythonX.Y/sitecustomize.py i afegir:
import sys
sys.setdefaultencoding('utf-8')
- Per generar passwords: http://stackoverflow.com/questions/2257441/python-random-string-generation-with-upper-case-letters-and-digits
- ...