Python en la web

Python en la web

@programacion

Ahora casi todo los lenguajes de programación soportan el desarrollo web, ya que hace poco se coloco en el canal una encuesta y la mayoria le parece mejor la tecnologias web, trataremos de colocar contenido sobre el desarrollo web pero no dejando de lado las otras tecnologias ya que son muy importantes. Ahora se hablara del lenguaje Python Orientado a la web. Mi persona se ha apasionado con este lenguaje muy dinamico.

Ahora hay framework que te facilitan la programación Web con Python como lo son Django, Flask(MicroFramework), Spyce, Kiss.py, Bottle, etc. Pero cada uno de ellos tiene sus ventajas como sus desventajas. Queda a tu elección cual preferir pero de acuerdo a la pagina oficial de Python, hay 3 que sobresalen de otros y son:

  1. Django
  2. TurboGears
  3. Web2Py

Pero python viene con un servidor incorporado que te permite ejecutar un servidor minimalista con solo una linea de codigo y dentro de la capeta que te encuentres en la consola, automaticamente toma a esa carpeta como raiz. Ejemplo:

$ cd ~/Music
$ python -m SimpleHTTPServer



Pero la clase BaseHTTPServer es más poderosa porque nos permite implementar nuestros propios RequestHandlers, es decir, clases que extiendan BaseHTTPRequestHandler y hagan lo que nosotros queramos en cada petición para cada método HTTP. Por ejemplo, para implementar el método GET solamente hace falta crear una clase que extienda BaseHTTPRequestHandler y sobrecargar el método do_GET.

Por ejemplo, si yo quisiera implementar un muy básico servidor que me diga un "Hola Servidor desde el canal de Telegram @programacion" del sistema sería tan sencillo como poner:


#==========================================#

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import os

import sys

import BaseHTTPServer


class RequestHandler (BaseHTTPServer.BaseHTTPRequestHandler):

   def do_GET (self):

       self.send_response(200)

       self.end_headers()

       self.wfile.write(self._get_status())

       return

   def _get_status (self):

       return "Hola Servidor desde canal de telegram @programacion"           


def main (args):

   httpd = BaseHTTPServer.HTTPServer(("localhost", 8000), RequestHandler)

   httpd.serve_forever()


if __name__ == "__main__":

   sys.exit(main(sys.argv))

 

 #==========================================#

Muestra del resultado a ejecutar el servidor en python

Y Muestra del resultado en el navegador:

Fuente:

Pagina oficial de Python sobre Frameworks

Report Page