我有一个使用plone.formwidget.multifile.MultiFileFieldWidget的自定义Dexterity类型:
class ITestimony(form.Schema):
...
form.widget(files=MultiFileFieldWidget)
files = schema.List(
title=_(u"Files"),
value_type=NamedFile()
)
编辑项目时,一切顺利:
以下是我尝试从https://developer.plone.org/reference_manuals/external/plone.app.dexterity/advanced/files-and-images.html借用的相关视图模板:
<fieldset tal:condition="context/files">
<legend>Attached Files</legend>
<ul>
<tal:files repeat="item context/files">
<li><a href=""
tal:attributes="href string:${context/absolute_url}/@@download/files/${item/filename};"
tal:content="item/filename">Attached File</a></li>
</tal:files>
</ul>
</fieldset>
我想通过点击链接下载附件。但是我的当前模板出错:
AttributeError:'list'对象没有属性'getSize'
如何下载上传的文件?
答案 0 :(得分:2)
实际上答案来自http://josh.postach.io/multiple-file-upload-custom-dexterity-content-types-plone-5-02a
以下代码段适用于我:
<fieldset tal:condition="context/files">
<legend>Attached Files</legend>
<ul>
<tal:files repeat="item context/files">
<li><a href=""
tal:attributes="href string:${context/absolute_url}/@@edit/++widget++form.widgets.files/@@download/${repeat/item/index}"
tal:content="item/filename">Attached File</a></li>
</tal:files>
</ul>
</fieldset>
尽管在这里使用了@@edit
,但希望我们能尽快获得更好的plone.formwidget.multifile版本或相关软件包。
答案 1 :(得分:0)
有关如何使用敏捷处理文件的一些注意事项如下:
http://developer.plone.org/forms/files.html
具体来说,构建下载网址:
http://developer.plone.org/forms/files.html#connstring-download-urls
(@@download
帮助者视图)