[mod_python] testhandler issue

David Fraser davidf at sjsoft.com
Mon Oct 10 23:51:27 EDT 2005


Hi Nicolas

I wonder if it wouldb e helpful to add a publisher-style handler to the 
mptest module. This could return a page that says "this is being served 
by the publisher" with some explanation - that way people will at least 
be told what is happening...

David

Nicolas Lehuen wrote:

> Hi Ken,
>
> Unfortunately for a lot of mod_python beginners, it is not clear why 
> the mptest handler CANNOT be used directly by the publisher handler.
>
> First of all, try to have the publisher running as described here :
> http://www.modpython.org/live/current/doc-html/tut-pub.html 
> <http://www.modpython.org/live/current/doc-html/tut-pub.html>
>
> Then, you'll understand that even if the publisher is correctly 
> configured, if you call /mod_python/mptest.py, then the publisher 
> handler will find the mptest module but NOT an index(req) function 
> inside... You'll have to call /mod_python/mptest.py/handler to specify 
> the function to call (or rename handler to index) and begin to solve 
> your 404 problem.
>
> Last, but not least, handlers are supposed to write on the request 
> object and return a status value (hence the return apache.OK), whereas 
> the return value of published  functions is the data you want to send 
> back to the client (though you can also write on the request object to 
> make things more interesting).
>
> To sum up, handlers are the lowest API of mod_python, and the 
> publisher is just a handler which has its own system for publishing, 
> which somewhat resembles the handler system, but with enough 
> differences to prevent the two from being swappable at will... We know 
> it's quite confusing for a newbie, but now that there are users for 
> the two layers, we can't unify them :).
>
> Regards,
> Nicolas
>
> 2005/10/6, Ken Bradshaw <bradshak at us.ibm.com 
> <mailto:bradshak at us.ibm.com>>:
> >  
> >
> > Hello All,
> >  I've recently taken an interest in python and mod_python in 
> particular. For
> > the past two years or so I've been developing enterprise web apps in 
> j2ee
> > with WebSphere Applications Server and Portal Server, so I'm pretty 
> used to
> > pouring over documentation when configuration issues arise. 
> Unfortunately, I
> > haven't found a solution to my problem regarding the PythonHandler
> > mod_python.publisher. Here's a brief synopsis of my environment and 
> problem.
> >  
> >  Environment:
> >  
> >  I just used the standard packages provided by apt-get.
> >  
> >  Debian 3.1 stable
> >  apache 2.0.54
> >  mod_python 3.1.3
> >  Python 2.3.5
> >  
> >  Configuration:
> >  
> >  file: /etc/apache2/sites-available/default
> >  
> >  <Directory /var/www/mod_python>
> >  AllowOverride FileInfo
> >  </Directory>
> >  
> >  --for whatever reason I had to add this to get the .htaccess to work.
> >  
> >  file: /var/www/mod_python/.htaccess
> >  
> >  AddHandler python-program .py .psp
> >  PythonHandler mptest
> >  #PythonHandler mod_python.publisher | .py
> >  PythonHandler mod_python.psp | .psp
> >  PythonDebug On
> >  
> >  file: /var/www/mod_python/mptest.py
> >  
> >  from mod_python import apache
> >  
> >  def handler(req):
> >  req.content_type="text/html"
> >  req.write("<html><body>")
> >  req.write("Hello World!")
> >  req.write("</body></html>")
> >  return apache.OK
> >  
> >  Problem:
> >  
> >  With the .htaccess configured as above, mptest.py works correctly 
> when I
> > point the browser to http://localhost/mod_python/mptest and
> > prints the Hello World!
> >  
> >  I comment line 2 of the .htaccess and uncomment line 3, and the browser
> > reports a 404 Error stating that The requested URL 
> /mod_python/mptest.py was
> > not found on this server(note that the URL remained the same in the
> > browser). I also find it interesting to note that in either 
> configuration,
> > the PythonHandler mod_python.psp functions correctly, and the
> > apache2/access.log and error.log report nothing more than a 404 error.
> >  
> >  Now I thought about just removing the mod_python.publisher 
> altogether and
> > using multiple Python handlers for the .py files, but the 
> implementation
> > failed for some reason. My plan was to make an entry for each .py 
> file in
> > the same way you would make an entry for every servlet in a web.xml 
> file. It
> > seems as though no matter where or in what order I put the 
> PythonHandler
> > lines in, if I make a call to one of them, all of them are executed.
> >  
> >  This I assume, means that I really have to have a mod_python.publisher
> > working. Any help would be greatly appreciate.
> >  
> >  Regards,
> >  Ken Bradshaw
> > _______________________________________________
> > Mod_python mailing list
> > Mod_python at modpython.org <mailto: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
>  
>



More information about the Mod_python mailing list