Reuben A Christie
christie at knewco.com
Fri Dec 5 17:44:03 EST 2008
this is how my apache config looks like <Directory /usr/local/apache/htdocs/linker_python > Options ExecCGI -MultiViews FollowSymLinks AllowOverride All Order allow,deny allow from all AddHandler mod_python .py PythonHandler launch PythonDebug On AddType text/plain </Directory> and in the code i do following req.send_http_header() req.content_type = 'text/xml' (it does not matter what do i set content type, even if i change this to text/plain or text/html does not make any differece) req.write("<response>hello world</response>") Graham Dumpleton wrote: > 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 >> >> >> > > > -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 3316 bytes Desc: S/MIME Cryptographic Signature Url : http://mm_cfg_has_not_been_edited_to_set_host_domains/pipermail/mod_python/attachments/20081205/28090839/smime-0001.bin
|