我正在使用zope2.10与python 我想检查图像文件是否上传
我在我自己的产品中,我有一个像字符串一样的路径:
/媒体/新闻/ 2010 /图像
我想检查它是否是image.gif或image.jpg
但我不知道如何检查 所以它只是一个文件检查器。
该文件是否存在于zope yes / no ready
中//编辑我不是一个dtml文件
答案 0 :(得分:2)
在普通文件系统Python代码中,您将使用路径遍历到容器,然后检查容器中的两个ID。 E.g:
container = context.unrestrictedTraverse('/media/news/2010')
item_ids = list(container.objectIds())
for image_id in ('image.jpg', 'image.gif', 'image.png'):
if image_id in item_ids:
return container._getOb(image_id).absolute_url()
raise ValueError('No image found')
答案 1 :(得分:0)
如果我没记错,可以使用has_key()方法。
现在,根据您使用的是dtml,python还是其他任何内容,您可以执行类似
的操作<dtml-with Media>
<dtml-with News>
<dtml-with 2010>
<dtml-if "getattr(_['2010'], 'Image').has_key('Image.gif')">
...
</dtml-else>
...
</dtml-if>
</dtml-with>
</dtml-with>
</dtml-with>
我没有测试代码,但我很确定has_key()方法是你的解决方案。您可以在dtml或python脚本中使用它。