Glenn A. Hochberg
gah at research.att.com
Sat Jan 24 15:47:35 EST 2004
That's not how you get access to query args. You need to use the FieldStorage class; see the documentation at modpython.org. -Glenn >Date: Fri, 23 Jan 2004 11:58:22 -0800 >From: Joshua Schmidlkofer <menion at asylumwear.com> >Subject: [mod_python] Mod_python + arguments >To: ModPython mailing List <mod_python at modpython.org> >Message-ID: <1074887901.5984.93.camel at bubbles.imr-net.com> >Content-Type: text/plain > >My mod_python script is not getting any arguments. I have googled a >bit, and looked my small archive of the mailing list. I don't see the >problem being references. > >Stock RedHat 9: > mod_python-3.0.1-3 > httpd-2.0.40-21.9 > python-2.2.2-26 > >I can upgrade if needed, but I just wondered if that is necessary. > >Apache config: ><snip> > ><Location /proxy> > SetHandler python-program > PythonPath "sys.path + ['/var/www/html/proxy']" > PythonHandler handler > #PythonHandler mod_python.publisher ></Location> > ><snip> > > > >Here is my url: >http://localhost/proxy/handler?crow=bar&name=foo > >here are a few things: >uri: (None, None, None, None, None, None, '/proxy/handler', 'crow=bar&name=foo', None) > >I can't get named arguments, and *args, and **kwargs reveals nothing: > ><snip> > kwargs:{} > args:() ><snip> > > >my script: > ><snip> >from mod_python import apache > >def handler(req, *args, **kwargs): > req.content_type = "text/html" > req.send_http_header() > > extra = "" > for k,v in locals().items(): > if k == 'extra': continue > extra += "<p>%s:%s\n" % (str(k),str(v)) > continue > > extra += "<br><hr>\n" > extra += "Args:<p>len: %d<br><p>contents: %s\n" % (len(args),str(args)) > > extra += "<br><hr>\n" > extra += "uri: %s<br><br>\n" % str(req.parsed_uri) > extra += "args: %s<br><br>\n" % str(req.args) > extra += "req: %s\n" % str(dir(req)) > > extra += "<br><hr>\n" > extra += "<br>Apache: %s\n" % str(dir(apache)) > > req.write(content % extra) > > return apache.OK ><snip> > > > >
|