Graham Dumpleton
grahamd at dscpl.com.au
Wed Jun 29 06:17:00 EDT 2005
On 28/06/2005, at 11:13 PM, Julien wrote: > As I'm using the publisher handler, my index.py looks like : > > import sys > import os.path > import neo_cgi > import neo_util > import neo_cs > > from mod_python import util, apache > from psycopg import QuotedString > > config = apache.import_module('config', autoreload = 0, log = 0) > utils = apache.import_module('utils', autoreload = 0, log = 0) > specimen = apache.import_module('specimen', autoreload = 0, log = 0) > taxon = apache.import_module('taxon', autoreload = 0, log = 0) > fulltextsearch = apache.import_module('fulltextsearch', autoreload = 0, > log = 0) > > template_directory = config.getTemplateDirectory() > template_main = config.getTemplateMain() > template_menu = config.getTemplateMenu() > > def index(req): > return home(req) > > def home(req): > return _render(req, 'home') > > def links(req): > return _render(req, 'links') > > def contact(req): > return _render(req, 'contact') > > def taxal(req): > sort = req.form.getfirst('sort') > order = req.form.getfirst('order') > > tl = taxon.taxon() > tl.getTaxaList(sort, order) > hdf = tl.getHDF() > return _render(req, 'taxalist', hdf) > > (...) > > So for the above example if I GET http://b.abc.be/birds/taxal it should > run the "def taxal(req)" function ... I don't understand why I get a > "mod_python.publisher: ImportError: No module named taxal" error > message > in the apache logfile. Okay, lets try something different. You should be able to use either: http://b.abc.be/birds/taxal or: http://b.abc.be/birds/index/taxal Since the first variant doesn't work, try changing all your URLs to use the second form. Ie., don't rely on mod_python.publisher automatically inserting "index" into the path to determine the file to load. I suggest this as there have been some issues with this ability for "index" to be inserted automatically. See for example: http://issues.apache.org/jira/browse/MODPYTHON-23 http://issues.apache.org/jira/browse/MODPYTHON-24 There may be other cases I didn't stumble across. Besides that, at this stage all I can suggest is to use the almost drop in replacement for mod_python.publisher that exists and see if that gets rid of the problem. Required changes would be a few lines in the Apache configuration and change away from using "apache.import_module()" to a replacement function. If you get desperate enough to want to try that let me know and I'll let you know what to do off list. Graham
|