Unos posts atrás instalé Python sobre apache. Ahora, mi objetivo fue desarrollar algo más que el Hola Mundo. Para ello me puse a googlear y buscar un poco acerca del tema, y más que nada he adquirido dudas.
No he visto ejemplo alguno donde se embeba código Python dentro de un HTML, como se hace con con PHP por ejemplo.
He visto un montón de nombre de frameworks para el desarrollo web con Python (TurboGears, Zope, Django, Pylons). Incluso he llegado a leer en algún comentario "Python es el único lenguaje de programación con más frameworks de desarrollo web que palabras clave"
Evidentemente, tengo mucho que leer y mucho camino por recorrer, pero como consuelo por el momento me limité a escribir un html (a pico y pala) copypasteando un poco de código.
def index(req):
req.content_type = "text/html"
req.write( head ('Hola'))
req.write( titulo( '2','Pagina generada con Python'))
req.write( parrafo( 'My Blog: ' +
link ('luauf.com','LuAuF') ) )
req.write( hr())
req.write(tabla( [ ['Celda11', 'Celda12'],
['Celda21', 'Celda22'] ] ) )
req.write( hr())
req.write(footer())
def head ( title='' ):
"Inicia el documento HTML."
return '<html> \
<head> \
<title>' + title + '</title> \
</head> \
<body>\n'
def titulo( level='1', string='' ):
"Regresa string con titulo HTML, default es H1."
return '<h'+ level + '>'+ string + '</h'+ level + '>'
def link( url, text):
"Liga o hipervinculo a url con texto."
return '<a href="' + url + '">' + text + '</a>'
def parrafo( text ):
"Genera un parrafo con texto."
return '<p>' + text + '</p>\n'
def br():
"Genera un salto de linea."
return '<br>\n'
def hr():
"Genera un salto de linea."
return '<hr>\n'
def tabla( arreglo ):
"""Muestra arreglo en una tabla HTML.
Las celdas pueden ser cualquier tipo,
se convierten a cadena siempre."""
temp = '<table border="1">\n'
for renglon in arreglo:
temp = temp + '<tr>'
for celda in renglon:
temp = temp + '<td>' + str(celda) + '</td>\n'
temp = temp + '</tr>\n'
return temp + '</table>\n'
def footer():
"Fin del documento HTML."
return '</body></html>'
Suscribete al feed aquí
2 Respuestas para "Desarrollo web con Python"
Quizás te resulte mas fácil de la siguiente manera:
[PYTHON]
def main():
var_nombre = ‘Farruquito’
var_titulo = ‘Este es el titulo de la pagina’
salida = “”"
hola que tal me llamo %(var_nombre)s
“”" % vars()
print “Content-type: text/html\n”
print salida
main()
[/PYTHON]
Si quieres poder capturar la informacion que se pase a traves de la url o de un formulario tenés que usar la librería cgi. El codigo seria el siguiente:
[PYTHON]
import cgi
def main():
form = cgi.FieldStorage() # cgi.FieldStorage() actúa como un diccionario.
var_nombre = ‘Farruquito’
var_titulo = ‘Este es el titulo de la pagina’
if form.has_key(’Titulo’): var_titulo = form['Titulo'].value # si existe la llave Titulo captura su valor y le damos a la variable var_titulo ese valor
if form.has_key(’Nombre’): var_nombre = form['Nombre'].value # =
salida = “”"
hola que tal me llamo %(var_nombre)s
“”" % vars()
print “Content-type: text/html\n”
print salida
main()
[/PYTHON]
En esta segunda página se podría cambiar el título y el nombre si le pasamos los parámetros por la url, por ejemplo: servidor/pagina.py?Titulo=NuevoTitulo&Nombre=Billy
te pasa lo mismo que a mi jejej, pero pasa que en el mundo linux no existen muchas soluciones practicas, lo unico que te puedo decir es…. NO DEJES PHP, en el mundo web nada se le compara
Comentarios: