¿Cómo saco una página web generada dinámicamente a una página html en lugar de la página cgi .py?

StackOverflow https://stackoverflow.com/questions/1060289

  •  21-08-2019
  •  | 
  •  

Pregunta

Así ive acaba de comenzar el aprendizaje de pitón en WAMP, ive consiguió los resultados de un formulario HTML a través de CGI, y realizó con éxito una búsqueda de base de datos con MySQLdb. Puedo devolver los resultados a una página que termina con .py mediante el uso de declaraciones de impresión en el código Python CGI, pero quiero crear una página web que es .html y tienen que devuelve al usuario, y / o mantenerlos en el mismo webaddress cuando los resultados de búsqueda de base de datos de retorno.

Gracias paul

editar: a aclarar en mi máquina local, veo /localhost/search.html en la barra de direcciones i envíe el formulario HTML, y recibo una página de resultados en /localhost/cgi-bin/searchresults.py. Quiero ver los resultados en /localhost/results.html o /localhost/search.html. si esto era en un servidor público im suponiendo que sería volver ... / cgi-bin / searchresults.py, la última vez que vi / cgi-bin / directorios fue en los años 90 en una dirección URL. ive miró a AddHandler, como sugiere David, no estoy seguro si eso es lo que quiero.

Edit: Gracias a todos por sus comentarios, sí sin utilizar marcos, mod_rewrite parece el camino a seguir, pero tras mirar eso, decidí ahorrarme la molestia e ir con Django con mod_wsgi, principalmente debido al tamaño de su base de usuarios y la cantidad de documentos. i podría cambiar a un marco más claro / más personalizable, una vez Ive consiguió los fundamentos

¿Fue útil?

Solución

En primer lugar, me gustaría sugerir que recuerde que las direcciones URL son direcciones URL y que las extensiones de archivo no son importantes, y que sólo debe salir de él.

Si eso no es suficiente, entonces recuerde que las URL son direcciones URL y que las extensiones de archivo no importan - y configurar Apache para utilizar una regla diferente para determinar que es un programa CGI en lugar de un archivo estático para ser servido como es. Puede usar AddHandler añadir un controlador de archivos en el disco duro con una extensión .html.

Como alternativa, se puede usar mod_rewrite para decirle a Apache que ... / foo .html significa ... / foo.py

Por último, me gustaría sugerir que si lo hace muck alrededor con lo que se parecen a las direcciones URL, que elimine cualquier signo de algo que se parece a una extensión de archivo (de modo que ... / foo se solicita en lugar de ... / foo.anything) .

En cuanto a mantener al usuario en la misma dirección para resultados en cuanto a la solicitud ... eso es sólo una cuestión de tener la salida del programa de la página básica sin resultados si no recibe los parámetros de cadena de consulta que indican un término de búsqueda tenía sido pasado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top