mod_python retorna o script de texto simples?

1

Ubuntu 12.10 Server em uma VM virtualbox.

Instalei mod_python usando apt-get , habilitei-o usando a2enmod e reiniciei apache2 . Eu também editei \etc\apache2\sites-available\defaults como abaixo. Meu script reside em /var/www/py/ e é chamado por meio de uma função post do jQquery.ajax. Este script está sendo acionado, mas retorna a si mesmo - em texto simples. Ele deve estar retornando json, indicando que eu perdi algumas etapas óbvias de configuração.

Descomentar a linha do testhandler, abaixo, resulta no script retornando a saída do mod_python.testhandler - essencial a saída do php.info (), mas para o python.

<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks Indexes MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

         ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride All
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        <Directory /var/www/py>
                Options Indexes FollowSymlinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
                AddHandler mod_python .py
                #PythonHandler mod_python.testhandler
                PythonDebug On
        </Directory>
    
por Jzl5325 28.01.2013 / 05:47

1 resposta

1

Como não-resposta à sua pergunta: o mod_python não é mais a maneira recomendada de implementar aplicativos python. Transformar seu aplicativo em um aplicativo wsgi adequado e usar o mod_wsgi é o estado da arte.

Agora, para uma resposta real: você precisará configurar um manipulador. O mod_python não apenas executa scripts aleatórios, mas você precisa especificar qual módulo contém o manipulador, isto é o que o AddHandler faz.

Para mais informações, consulte o tutorial do mod_python .

    
por Dennis Kaarsemaker 28.01.2013 / 10:36