template is calling 2 times
Bruno Desthuilliers
bdesth.quelquechose at free.quelquepart.fr
Fri Jul 7 17:08:45 EDT 2006
sanjeevdivekar a écrit :
> hi,
>
> i am newbie to python so i am trying to learn mod_python as my new
> development kit for my small web apps.
>
> i am getting strange result
Nothing strange here AFAICT.
> can anybody explain me.
> index.py
> *********************************************************************************************
> from mod_python import apache
> from mod_python import psp
> from mod_python import util
>
> def index(req, para=None):
> tmpl = psp.PSP(req, filename='a.html')
> tmpl.run(vars = {'para':para})
> tmpl.run()
Here, you call tmpl.run() two time, the first time with a dict having an
entry named 'param', the second time without it.
> a.htm
> *********************************************************************************************
(snip)
> <BODY>
> <h1><%=para%></h1>
And here you try to display something named "para". I don't have much
knowledge of PSP, but I have enough experience to assert this try to get
the entry named "param" from the dict passed to tmpl.run().
(snip)
> Result
(snip)
> File "E:\Apache Group\Apache2\htdocs\test\index.py", line 8, in index
> tmpl.run()
Here we are : line 8 of index.py, your second call to tmpl.run() without
the dict.
> File "E:\Python24\Lib\site-packages\mod_python\psp.py", line 213, in
> run exec code in global_scope
> File "E:\Apache Group\Apache2\htdocs\test\a.html", line 1, in ?
> NameError: name 'para' is not defined
and here the tentative to get this name from the dict.
Doesn't seem so strange to me. Note that I could be wrong - you'd better
check in PSP documentation - but I think I'd try commenting out the
second (and AFAICT useless) call to tmpl.run().
More information about the Python-list
mailing list