Pergunta

Acabei de configurar python mod com apache e eu estou tentando obter um script simples para o trabalho, mas o que acontece é que publica toda a minha html como texto simples quando eu carregar a página. Imaginei que este é um problema com mod_python.publisher, o manipulador eu defini-lo também. Eu procurei através da fonte dele e encontrou a linha onde ele diferencia entre 'text / plain' e 'text / html' e ele procura nos últimos cem caracteres do arquivo é a saída para 'no meu script, então eu colocá-lo em, e depois ele ainda não funcionou. Eu até tentei comentar a parte do código para que publisher iria definir tudo como 'text / html', mas ele ainda fez a mesma coisa quando eu atualizado a página. Talvez eu tenha criado algo errado.

Aqui está minha configuração no httpd.conf


SetHandler mod_python
PythonHandler mod_python.publisher
PythonDebug Em

Foi útil?

Solução

A sua configuração parece bem:. Eu tenho um script mod_python.publisher trabalhando com essencialmente as mesmas configurações

Alguns outros pensamentos:

  • Quando você tentou editar o código-fonte editor, que você reiniciar o servidor web? Ele só cargas Python bibliotecas uma vez, quando o servidor é iniciado pela primeira vez.

  • aparência detecção automática do autor para uma marca de fechamento HTML: . É isso que você adicionou? (Eu não posso vê-lo em sua pergunta, mas possivelmente ele acabou retirados quando você postou.)

  • Se nada funcionar, você sempre pode definir o tipo de conteúdo explicitamente. É mais código, mas é garantido que funcione de forma consistente. Defina o campo content_type no seu pedido de 'text / html'.

Por exemplo, se seu script se parece com isso agora:

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

que se tornaria:

def index(req, an_arg='default'):
    req.content_type = 'text/html'
    return some_html
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top