敏捷内容类型上的Image Field
可用的属性:
>>> app.Plone.test.image.
app.Plone.test.image.__class__( app.Plone.test.image.__provides__( app.Plone.test.image._height app.Plone.test.image._p_state
app.Plone.test.image.__delattr__( app.Plone.test.image.__reduce__( app.Plone.test.image._p_activate( app.Plone.test.image._setData(
app.Plone.test.image.__dict__ app.Plone.test.image.__reduce_ex__( app.Plone.test.image._p_changed app.Plone.test.image._width
app.Plone.test.image.__doc__ app.Plone.test.image.__repr__( app.Plone.test.image._p_deactivate( app.Plone.test.image.contentType
app.Plone.test.image.__format__( app.Plone.test.image.__setattr__( app.Plone.test.image._p_delattr( app.Plone.test.image.data
app.Plone.test.image.__getattribute__( app.Plone.test.image.__setstate__( app.Plone.test.image._p_estimated_size app.Plone.test.image.filename
app.Plone.test.image.__getstate__( app.Plone.test.image.__sizeof__( app.Plone.test.image._p_getattr( app.Plone.test.image.getFirstBytes(
app.Plone.test.image.__hash__( app.Plone.test.image.__str__( app.Plone.test.image._p_invalidate( app.Plone.test.image.getImageSize(
app.Plone.test.image.__implemented__( app.Plone.test.image.__subclasshook__( app.Plone.test.image._p_jar app.Plone.test.image.getSize(
app.Plone.test.image.__init__( app.Plone.test.image.__weakref__ app.Plone.test.image._p_mtime app.Plone.test.image.open(
app.Plone.test.image.__module__ app.Plone.test.image._blob app.Plone.test.image._p_oid app.Plone.test.image.openDetached(
app.Plone.test.image.__new__( app.Plone.test.image._data app.Plone.test.image._p_serial app.Plone.test.image.size
app.Plone.test.image.__providedBy__( app.Plone.test.image._getData( app.Plone.test.image._p_setattr(
我希望方法getImage
或getImageURL
方法存在......以至于我发现自己通过以下方式解决了这个问题:
def get_image(self):
return "data:%s;base64,%s" % (self.context.image.contentType,
base64.encodestring(self.context.image.data))
和
<img tal:attributes="src view/get_image" />
哪种方法有效,但在很多(希望是显而易见的)方面并不理想。现在,此类型的默认视图通过小部件资源提供所需的功能:
view/++widget++form.widgets.image/@@download/the-image.png
但我无法访问它(AFAICT),因为我已经自定义了此类型的默认视图。应该有getImage
方法吗?或者我错过了其他一些明显的方法。
答案 0 :(得分:3)
你有没有在plone.app.imagescales-way
中尝试过<img tal:replace="structure context/@@images/shortnameofmyfield/thumb" />
答案 1 :(得分:1)
我解决了类似的问题:
selected_image.restrictedTraverse("@@images").scale('image', width=None, height=None).index_html()
以原始大小返回图像。