Graham Dumpleton
graham.dumpleton at gmail.com
Fri Dec 5 17:33:42 EST 2008
2008/12/6 Reuben A Christie <christie at knewco.com>: > > In the python script itself, i set the content type to text/plain , I have > not set any AddType directive in apache config Please post code snippet showing how this is being done and what handler you are using? Ie., custom handler, mod_python.publisher etc. What AddHandler directives do you have set in Apache configuration? Have you setup any output filters in Apache, ie., AddOutputFilter* directives? Graham > Graham Dumpleton wrote: >> >> 2008/12/5 Reuben A Christie <christie at knewco.com>: >> >>> >>> thanks alot graham. I was able to import the modules the way you showed. >>> its >>> little intriguing but I think I ll find a better way by combining them >>> into >>> one __init__.py hopefully that will work >>> one more question, I keep seeing this warning message on apache log >>> [warn] Cannot get media type from 'mod_python' >>> its not causing any issue but I really don't understand why is it >>> appearing >>> >> >> What is the content type you are returning or have setup using AddType >> directives? It appears it may be malformed. The message is mod_mime >> complaining about it. >> >> Graham >> >> >>> >>> Graham Dumpleton wrote: >>> >>>> >>>> 2008/12/3 Reuben A Christie <christie at knewco.com>: >>>> >>>> >>>>> >>>>> Hi all, I am pretty novice user of mod_python. and there is an issue >>>>> that >>>>> I >>>>> am experiencing with mod_python scripts for past 2 days that I am not >>>>> able >>>>> to solve. >>>>> >>>>> my directory structure is as following, >>>>> >>>>> DocumentRoot : /usr/local/apache2/htdocs/ >>>>> i have a directory structure for mod_python scripts under DocumentRoot >>>>> is, >>>>> >>>>> launch.py >>>>> python_test/p1/test1 >>>>> python_test/p2/test2 >>>>> >>>>> in apache config, i have added following >>>>> >>>>> <Directory /usr/local/apache/htdocs/python_test > >>>>> AllowOverride All >>>>> Order allow,deny >>>>> allow from all AddHandler mod_python .py >>>>> PythonHandler launch >>>>> PythonDebug On >>>>> </Directory> >>>>> >>>>> and launch.py looks like this, >>>>> >>>>> import os.path >>>>> from mod_python import apache, Session, util >>>>> >>>>> def handler(req): >>>>> request = os.path.splitext(os.path.basename( req.uri ))[0] >>>>> req.content_type = 'text/plain' >>>>> req.send_http_header() >>>>> >>>>> status = apache.OK >>>>> if request != None: >>>>> mod = __import__(request) >>>>> >>>>> >>>> >>>> This is the wrong way of going about it. See below. >>>> >>>> >>>> >>>>> >>>>> if request == "test1": >>>>> status = mod.handler(req) >>>>> return status >>>>> basically this script should act as gateway for rest of the >>>>> python scripts . >>>>> >>>>> when I test it with, http://localhost/python_test/test1.py it does not >>>>> work >>>>> (i get Not found message) and if I do http://localhost/python_test/p1 i >>>>> get >>>>> the source code of the script appear. >>>>> >>>>> >>>> >>>> For configuration as written, the launch.py file is in wrong location. >>>> >>>> First off suggest that launch.py not be in htdocs as then someone can >>>> download source code to your handler. >>>> >>>> Presuming you are using mod_python 3.3.1 (if not then upgrade), move >>>> the launch.py file elsewhere and then change configuration to use: >>>> >>>> PythonHandler /some/path/launch.py >>>> >>>> Where path is location of launch.py outside of htdocs. >>>> >>>> Also don't use __import__. You are better off using import_module() >>>> from mod_python. That way you can just supply a path to file to import >>>> and not have to worry about PythonPath and lots of other module >>>> madness. See: >>>> >>>> http://www.modpython.org/live/current/doc-html/pyapi-apmeth.html >>>> >>>> Graham >>>> >>>> >>>> >>>> >>> >>> _______________________________________________ >>> Mod_python mailing list >>> Mod_python at modpython.org >>> http://mailman.modpython.org/mailman/listinfo/mod_python >>> >>> >>> >> >> >> > > _______________________________________________ > Mod_python mailing list > Mod_python at modpython.org > http://mailman.modpython.org/mailman/listinfo/mod_python > >
|