----- Original Message ----- From: "Martijn Pieters" <[EMAIL PROTECTED]> To: "Performance.net Strategic Internet Solutions" <[EMAIL PROTECTED]> Cc: "ZOPE Mailing List" <[EMAIL PROTECTED]> Sent: Monday, August 07, 2000 12:19 PM Subject: Re: [Zope] Accessing .gif on disk with Python Product? > > On Mon, Aug 07, 2000 at 11:21:53AM -0300, Performance.net Strategic Internet Solutions wrote: > > I am writing a python product and want to display a GIF file in some of the > > manage_pages. It is not meant to be the "icon" property of the class, just > > an image to be included in DTML. I included it in my class as follows: > > > > chooser = ImageFile('images/chooser.gif',globals()), > > > > but when I call it in DTML (<dtml-var chooser>) I get the following: > > > > <ImageFile instance at 014F1D90> > > > > I thought maybe I could use an instance of the Image class: > > > > chooser = OFS.Image('images/chooser.gif',globals()), > > > > but this doesn't seem to work. > > > > How do you create an instance of an Image in a Python Product? > > ImageFile objects do not (like ZODB stored Image objects) generate an IMG tag > when called. Image object, when called, generate an IMG tag that points the > browser to the correct address to retrieve tha actual image. > > With an ImageFile object, you need to construct the tag yourself. If this > class has an instance foo, with this ImageFile attribute chooser, and the > instance foo is stored in the root of your Zope ZODB, you need to point the > browser to http://yoursever/foo/chooser. So your DTML needs to generate the > following HTML: > > <img src="http://yoursever/foo/chooser"> > > I don't know enough about your DTML, but if it is another attribute of the > same class, you could use one of the URLx REQUEST variables or something to > construct the URL for the image. Also, absolute_url() called on the foo > instance may also work for a base URL. > > Hope this helps. > > -- > Martijn Pieters > | Software Engineer mailto:[EMAIL PROTECTED] > | Digital Creations http://www.digicool.com/ > | Creators of Zope http://www.zope.org/ > | ZopeStudio: http://www.zope.org/Products/ZopeStudio > ----------------------------------------------------- Okay, I've done the following: # Create the method in the .py Class File chooserIcon=ImageFile('images/chooserIcon.gif',globals()), # Call from the .dtml File <img src="<dtml-var absolute_url>/chooserIcon" border=0> absolute_url() works and the URL points correctly to http://myserver/foo/chooserIcon, but if I type in that URL directly, I get a "Not Found" error as though the method does not exist. I've double-checked that the image is there and named correctly, so it's not a syntax thing. Perhaps I need to convert it to an "Image" object something like below? # this doesn't work but illustrates the idea chooserIcon = Image( ImageFile('images/chooserIcon.gif',globals() ) Help! =:) Kevin _______________________________________________ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Accessing .gif on disk with Python Product?
Performance.net Strategic Internet Solutions Mon, 07 Aug 2000 09:07:36 -0700
- [Zope] Accessing .gif on disk... Performance.net Strategic Internet Solutions
- Re: [Zope] Accessing .gi... Martijn Pieters
- Re: [Zope] Accessing... Performance.net Strategic Internet Solutions
- Re: [Zope] Acces... Martijn Pieters
- Re: [Zope] A... Kevin Howe