Capitulos de este wiki
  1. 1 Python

Python - Python

1 - Python

[editar]
Tutorial creado por Mononeurona. Extraido de: http://www.mononeurona.org/index.php?idp=112
27 de Octubre de 2005
Python es un lenguaje que cada vez recibe más atención, es versátil y poderoso, con un gran soporte hacia la programación orientada a objetos (POO) y quizás posea la sintaxis más limpia del mundo, en constrate a la de Perl que posee una sintaxis (en mi opinión) mal diseñada. Sin embargo, el gran obstáculo al acercarnos a Python es la pobre documentación que existe acerca de él, es como como aquella navidad en la que recibimos una fabulosa autopista eléctrica pero las instrucciones de armado y uso no aparecieron por ningún lado ;-).


Este mini-HOWTO explica como conectar un script CGI de Python con Postgresql usando la interface Psycopg y el módulo CGI de Python. La configuración de de Postgresql, la creación de la base de datos y la tabla de pruebas, es idéntica a la que ya revisamos al conectar PostgreSQl con Perl asi que no la repetiré aquí. También supongo que Apache está arriba y trabajando. No importa si estamos usando Apache o Apache-perl, ambos trabajan con Python perfectamente. Bien, instalemos Python y Psycopg:

# apt-get install python2.3-psycopg

Como usuario del Webserver (nobody, www-data) creamos el directorio python:

webserveruser$ mkdir /var/www/python

Como root creamos el archivo pycgi.conf en /etc/apache:

# mc -e /etc/apache/pycgi.conf

Adentro debemos poner:

Alias /python/ /var/www/python/
<Directory /var/www/python>
AllowOverride All
AddHandler cgi-script .py
Options ExecCGI Includes FollowSymlinks
Order Allow,Deny
Allow from All
</Directory>


Y al final del /etc/apache/httpd.conf:

# CGI para Python
Include /etc/apache/pycgi.conf

Reiniciamos apache:

# /etc/init.d/apache restart

Como usuario del webserver creamos el archivo pgsql.py:

wwsuer$ mc -e /var/www/python/pgsql.py

El archivo python debe contener la siguientes líneas:

#!/usr/bin/python
import cgitb; cgitb.enable();
import sys
import cgi
import psycopg
dsn = "dbname=DBTEST host=localhost port=5432 user=postgres password=mex3004"
con = psycopg.connect(dsn)
cur = con.cursor()
s = "SELECT * FROM tb_usuarios"
# Dile al navegador el tipo de contenido
print "Content-Type: text/html\n\n"
# Pinta la cabeza html
print "<HTML><HEAD>---<TITLE>Python con Postgresql</TITLE>---</HEAD><BODY>"
print "<table with='100%' align='center'>"
PYGS = "Hola Python y Postgresql!! (psycopg)"
print "<tr><td colspan='4'> Saludos " + PYGS + "</td></tr>" # pinta un saludo ñoño
form=cgi.FieldStorage() #preparo la toma de variables de ambiente get o post
if not form.getvalue("b"):
valb = "no hay valor"
else:
valb = form.getvalue("b")
if not form.getvalue("a"):
vala = "no hay valor"
else:
vala = form.getvalue("a")
print "%s -- %s" % (vala, valb)
cur.execute(s)
r = cur.fetchone()
while r != None:------ID = int(r[0])
nombre = str(r[1])
email = str(r[2])
# print cada renglón
print "<tr><td><a href='editar.py?id=%s&action=1'>Editar</a></td><td> %s | %s </td><td><a href='editar.py?id=%s&action=2'>Borrar</a></td></tr>" % (ID, nombre, email, ID)
r = cur.fetchone()
print "</table>"
# limpio el cursor
cur.close()
# cierro la conexion
con.close()
# termina SQL.
print "</BODY></HTML>" # termina html
# fin del archivo pgsql.py

Damos permisos de ejecución a este archivo:

webserveruser$ chmod 744 /var/www/python/pgsql.py

Nos colocamos con mozilla en http://localhost/python/pgsql.py y abracadabra!! nos mostrará la tabla tb_usuarios de la base de datos DBTEST. La función form.getvalue("b") toma la variable b que el enviamos por get en el URL, por ejemplo, si ponemos en mozilla:


http://localhost/python/pgsql.py?b=python-y-pgsql&a=Hello---

pintara python-y-pgsql y Hello en lugar de "sin valor" en la variable b y a. Para borrar o actualizar un registro de la tabla sólo debemes crear un script editar.py que tome las variables id y action que enviamos por el URL y si action=1 actualizamos y si action=2 borramos.

Y eso es todo, sólo nos queda recordar que en python la identación es esencial.
[editar]

Sé el primero en opinar


Tutoriales relacionados con 'Python'

Esto es un curso intensivo de introducción mínima al lenguaje de programación Python. Si te... Más »
La elección del lenguaje con el que se implementará afecta el uso de los patrones... Más »
Python es un lenguaje que cada vez recibe más atención, es versátil y poderoso, con... Más »
PHP se ha convertido en el lenguaje de facto de Internet y no es difícil... Más »
El Linux Benchmarking CÓMO trata sobre algunos aspectos asociados con el benchmarking en los sistemas... Más »

Autor y licencia de 'Python'


Tutorial de Mononeurona. Extraido de: http://www.mononeurona.org/index.php?idp=112 CopyLeft
Este trabajo está licenciado bajo la Creative Commons License. 1999-2005 © :: MonoNeurona.org ::
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.