[Zope] Render image from external method.

Tino Wildenhain tino at wildenhain.de
Thu Feb 16 02:08:26 EST 2006


Jason C. Leach schrieb:
> Hi,
> 
> I'm wondering how I can render an image from an external method
> without creating a permanent image object in Zope?  What I have is a
> python script I call in my ZPT.  The python script does some things,
> and calls an external method that returns PNG image data. If I do
> tal:attributes="src python:python_script()" What I get is the string
> containing the PNG image data, but it's not rendered.
> 
> An example of what I get is: <img src="?PNG <PAGE OF BINARY DATA>" />
> 
> Any ideas?  I don't really want to create a permanent image object,
> and I know that will work because I have used it to create thumbnail
> images before.

Yes, you have to link to the image in your HTML code - just like
any other image you see. (Only a small popolation of browsers
support inline images - and these only really work for fairly small
images - so this isnt an option for you I guess)

<img src="/path/to/your/script" width... height... alt... />

If you need parameters to render the image, either put them
into the URL (ZTUtils.make_query() can help here) or
in the SESSION.

Btw, you might be confused by zopes Image objects which behave
in a dual way. When "called" inside your template, they output
a HTML image-tag with a link to their URL. Accessing the URL
however, produces the binary data of that image.

Regards
Tino


More information about the Zope mailing list