Objeto de Python Google App Engine Image
Usando Python Image Library PIL y Google App Engine Blobstore ...
Esta:
img = images.Image(blob_key=image)
logging.info(img.size)
self.response.headers['Content-Type'] = 'image/jpeg'
self.response.out.write(img)
Tiene error de atributo:
AttributeError: 'Image' object has no attribute 'size'
Entonces, ¿la instancia de Imagen del motor de aplicaciones de Google no tiene tamaño?
Entonces, ¿cómo funciona esto?
img = images.Image(blob_key=image)
img.resize(width, height)
img.im_feeling_lucky()
thumbnail = img.execute_transforms(output_encoding=images.JPEG)
self.response.headers['Content-Type'] = 'image/jpeg'
self.response.out.write(thumbnail)
¿Qué me estoy perdiendo?
EDITAR:
La corrección estaba usando el get_serving_urly no usar mi servidor de imágenes según lo propuesto por @voscausa. Debido al hecho de que mi objeto fue analizado por las plantillas jinja2, fue imposible crear un objeto Image a través de jinja2. Así que la solución final funcionó de la siguiente manera:
class Mandelbrot(db.Model):
image = blobstore.BlobReferenceProperty()
@property
def image_url(self):
return images.get_serving_url(self.image)
De esta manera podría analizar la url de la imagen a mi página como:
<img src=
{% if mandelbrot.image %}
"{{ mandelbrot.image_url }}"
{% else %}
"./assets/img/preloader.gif"
{% endif %}
/>