2008-10-22 13 views
5

Necesito escribir una interfaz de navegador para una aplicación que se ejecuta integrada en una sola computadora (Gumstix Verdex para cualquiera que esté interesado), así que no podré usar ningún framework web debido a limitaciones de espacio y procesador (y disponibilidad para el ambiente en el que estoy corriendo). Estoy limitado al núcleo de los módulos Python y cgi para crear páginas que se comuniquen con una aplicación C++.¿Cuál es un buen recurso para aprender programación CGI en Python?

¿Alguien puede recomendar un buen recurso (web o libro, pero se prefieren libros) para aprender programación CGI en Python?

Lo que necesito para hacer la aplicación es bastante simple. Tengo un programa en C++ que se ejecuta en el mismo dispositivo y necesito crear una interfaz de usuario basada en el navegador para poder cambiar la configuración de esa aplicación. La UI necesita comunicarse con la aplicación C++, donde se realizará la validación final de los datos. La validación preliminar se puede hacer en la interfaz de usuario usando Javascript, luego nuevamente en el servidor usando Python, pero la validación final tiene que hacerse en la aplicación misma, ya que de todos modos obtiene su configuración inicial de un archivo. Los datos de configuración adoptan todas las formas (booleanos, ints, flotantes y cadenas).

+0

Creo que sería beneficioso si usted describiría un poco de lo que va a hacer exactamente. –

+0

Gracias. Agregué un párrafo explicando lo que trato de hacer con más detalle. –

Respuesta

2

Uno de los mayores recursos para la programación CGI es el CGI homepage. Una vez que haya terminado con eso, familiarizarse con los módulos cgi y cgitb debe ser su próxima tarea.

Pero no descarte aprender WSGI(libref) y usar un adaptador CGI-a-WSGI como flup.

+0

+1 para WSGI: hace la vida mucho más simple. –

1

Todo encontrado a través de Google ...

Y echar un vistazo a pyblosxom así: http://pyblosxom.svn.sourceforge.net/viewvc/pyblosxom/ se trata de un sistema de weblog escrito en Python, usa CGI.

+1

Puedo buscar en google yo mismo. Estoy pidiendo recursos que haya usado y que pueda recomendar. –

+0

Utilicé el enlace devshed como tutorial, luego me sumergí en pyblosxom. –

+0

El devshed es bueno para mojarse los pies. – projecktzero

1

Lo que no entiendo es por qué insiste en CGI, porque esa es una Interfaz de puerta de enlace común destinada a ser utilizada en conjunto con un servidor web como apache, que seguramente no tiene en ese dispositivo.

Yo sugeriría que utilice wsgiref.simple_server que es un solo servidor web edifi roscado enviado con Python 2.5 y posteriores (si tiene o por debajo de 2,4 se puede d/l wsgiref from pypi, se trata de un paquete python puro). De esta manera también se puede dejar de lado la programación CGI desordenado y escribir una aplicación wsgi:

from wsgiref.simple_server import make_server 

def application(environ, start_response): 
    start_response('200 OK', [ 
     ('Content-Type', 'text/plain'), 
    ]) 
    return ['Hello World!'] 

httpd = make_server('', 8000, application) 
httpd.serve_forever() 
+0

El dispositivo viene con Boa Webserver preinstalado y puedo obtener Python versión 2.4.2 para trabajar en él. El sistema operativo es una versión pequeña de Linux llamada OpenEmbedded para la que no todos los paquetes están actualmente disponibles. –

Cuestiones relacionadas