Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/07/2009, 12:15
Avatar de Quantium
Quantium
 
Fecha de Ingreso: abril-2009
Mensajes: 3
Antigüedad: 15 años, 7 meses
Puntos: 0
SetHandler vs AddHandler mod_python

Hola a todos,

Me estoy iniciando en la programación python para web y tengo una disyuntiva. La explico:

En mi archivo httpd.conf puse lo siguiente (después de instalar el mod_pyton claro):


Código:
DirectoryIndex index.html index.html.var index.shtml index.py index.php index.htm
...
<Directory /var/www/isotopo.net/httpdocs>
   SetHandler mod_python
   PythonHandler mod_python.publisher | .py
   PythonPath "['/var/www/isotopo.net/httpdocs'] + sys.path"
   PythonDebug On
</Directory>
Jaló maravilloso mi index.py que tiene 2 funciones index y everybody. Al llamar a isotopo.net se muestra el contenido de la función index, y cuando llamo isotopo.net/everybody se muestra la función everybody como debe ser.

El problema surgió cuando empecé a llamar flash, php, jpg, etc, cualquier otro tipo de archivo me devolvía 404. Quería embebr un flash en el index.py/index y no lo mostraba, etc.

Entonces cambié el código anterior por el siguiente:

Código:
<Directory /var/www/isotopo.net/httpdocs>
	AddHandler mod_python .py .psp
	PythonPath "['/var/www/isotopo.net/httpdocs'] + sys.path"
	PythonHandler mod_python.publisher | .py
	PythonHandler mod_python.psp | .psp
	PythonDebug On 
</Directory>
Así ya pude resolver lo de los swf,jpg, php, etc. Embebi mi flash dentro de mi función index() y llamando isotopo.net/ se mostraba sin problemas.

El problema surgió cuando llamé isotopo.net/everybody, me devolvió 404.

Claro que llamando isotopo.net/index.py/everybody si me devuelve el contenido de la función everybody(), pero eso no es lo que busco.

Ahora estoy con la disyuntiva de:

Ejecutar los py en un archivo aparte y llamar todo de fuera

ó

Aguantarme y utilizar la llamada index.py/funcion

Ninguna de estas soluciones me satisface. Y mi pregunta, si alguien sabe, es:

¿Hay alguna manera de hacer las 2 cosas?¿Llamar swf,jpg,php, etc y además poder ejecutar mis funciones de index.py sin mostrar dicho archivo?

Agradeceré mucho su respuesta, gracias