如何使用plone.formwidget.multifile访问上载的文件
我有一个自定义灵巧类型,它利用plone.formwidget.multifile.MultiFileFieldWidget:如何使用plone.formwidget.multifile访问上载的文件,plone,dexterity,Plone,Dexterity,我有一个自定义灵巧类型,它利用plone.formwidget.multifile.MultiFileFieldWidget: class ITestimony(form.Schema): ... form.widget(files=MultiFileFieldWidget) files = schema.List( title=_(u"Files"), value_type=NamedFile() ) 编辑项目时,一切正常:
class ITestimony(form.Schema):
...
form.widget(files=MultiFileFieldWidget)
files = schema.List(
title=_(u"Files"),
value_type=NamedFile()
)
编辑项目时,一切正常:
以下是我尝试借用的相关视图模板:
附件
我想附件可以通过点击链接下载。但我的当前模板出现错误:
AttributeError:“list”对象没有属性“getSize”
如何下载上载的文件?关于如何灵活处理文件的一些说明如下: 具体而言,构建下载URL:
(
@@download
helper视图)实际上答案来自
以下代码片段对我很有用:
<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或相关软件包。这里有一个参考信息:另一个相关的线程记录,上面的链接被移动到
<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>