Pregunta

Acabo de configurar Mod Python con Apache y estoy tratando de hacer que un script simple funcione, pero lo que sucede es que publica todo mi HTML como texto sin formato cuando cargo la página. Pensé que esto es un problema con mod_python.publisher, el controlador también lo configuré. Busqué a través de la fuente y encontré la línea donde diferencia entre 'text / plain' y 'text / html' y busca los últimos cien caracteres del archivo que está generando 'en mi script, así que lo puse, y luego todavía no funcionó. Incluso intenté comentar parte del código para que el editor configurara todo como 'text / html', pero igual hizo lo mismo cuando actualicé la página. Tal vez he configurado algo mal.

Aquí está mi configuración en httpd.conf

  

< Directorio & Quot; C: / Archivos de programa / Apache Software Foundation / Apache2.2 / htdocs & Quot; & Gt;
  SetHandler mod_python
  PythonHandler mod_python.publisher
  PythonDebug en
  < / Directorio & Gt;

¿Fue útil?

Solución

Su configuración se ve bien: tengo un script mod_python.publisher que funciona con la misma configuración.

Algunas otras ideas:

  • Cuando intentó editar el código fuente del editor, ¿reinició su servidor web? Solo carga las bibliotecas de Python una vez, cuando el servidor se inicia por primera vez.

  • La autodetección del editor busca una etiqueta HTML de cierre: < / html > ;. ¿Es eso lo que agregaste? (No puedo verlo en su pregunta, pero posiblemente se eliminó cuando lo publicó).

  • Si nada más funciona, siempre puede establecer el tipo de contenido explícitamente. Es más código, pero está garantizado que funcionará de manera consistente. Establezca el campo content_type en su solicitud en 'text / html'.

Por ejemplo, si su script se ve así ahora:

def index(req, an_arg='default'):
    return some_html

se convertiría en:

def index(req, an_arg='default'):
    req.content_type = 'text/html'
    return some_html
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top