[Zope] Newbie: passing data from scripts to ZPT
    Paul Winkler 
    pw_lists at slinkp.com
       
    Mon Nov  3 14:36:55 EST 2003
    
    
  
On Mon, Nov 03, 2003 at 03:44:19PM -0300, Franco M. Luque wrote:
> Hello. I want a Python Script that redirects to a ZPT, so that the ZPT can
> see information generated by the Script. I don't want this information to
> persist along all the session. Is there any way to do this?
> 
> I tried saving the data in the REQUEST object, but it seems that the
> redirection generates a new REQUEST object for the ZPT and forgets the
> other one. 
That is correct. That's just how redirects work.
You have several options, each with advantages and disadvantages:
1) redirect from the script to a URL that includes the necessary 
information as parameters:
  context.REQUEST.RESPONSE.redirect("list_html?foo=bar&blah=23")
... you are limited by the length of the query string which
cannot grow indefinitely. I forget what the limits are.
2) don't redirect. Call the script from the zpt.
 	<html>
 	  <body>
 	    <p tal:content="context/foo_script"> </p>
 	  </body>
 	</html>
This is my preferred solution unless the script must 
direct the user to several templates in different cases.
3) don't redirect. Call the zpt from the script:
  return context.list_html(foo="bar", blah=23)
... parameters can be accessed in the page template in the "options" namespace.
This is a fine solution except that the URL displayed is that of the script
rather than that of the template. You must decide whether this is a problem.
Some zopistas seem to have aesthetic objections to calling templates from scripts.
It's transparent to the user so I don't see a problem.
P.S. your english is very good.
-- 
Paul Winkler
http://www.slinkp.com
Look! Up in the sky! It's META APACHE!
(random hero from isometric.spaceninja.com)
    
    
More information about the Zope
mailing list