2024-06-16 14:44:20 发布
网友
我在Plone中有一个AT内容类型。它有许多字段,包括一个文件字段。当用户编辑此类型的对象时,如何判断是否上载了新文件?在
就这一点而言,我如何判断这些字段是否已更改?在
我目前正在使用订阅服务器钩住IObjectEditedEvent在对象更改后做一些事情-我可以在这里做这些事情吗?在
以下是我与IObjectEditedEvent的关联:
使用子类化ATBlob创建的默认表单, 实现(IATBlobFile、IATFile、IFileContent)
def editObjectEvent(context, event): status = context.REQUEST.form.get('file_delete') if status in ("nochange", NONE): print "Don't do anything, no change to file." else: print "Do something, the file has changed"
我想知道form['file_delete']还有哪些其他值。似乎有用。在
form['file_delete']
是的,IObjectEditedEvent(一个IObjectModifiedEvent的直接子类)在原型内容对象被更改时发出。在
IObjectEditedEvent
IObjectModifiedEvent
但是,事件本身不会告诉您是否上载了新文件。但是,应该可以获得请求(上下文.请求应该通过采集给你当前的请求,例如)看看是否有一个文件对象与字段匹配。如果是这样,用户为该字段上载了一个新文件,FileField将被更新。在
FileField
以下是我与IObjectEditedEvent的关联:
使用子类化ATBlob创建的默认表单, 实现(IATBlobFile、IATFile、IFileContent)
我想知道
form['file_delete']
还有哪些其他值。似乎有用。在是的,
IObjectEditedEvent
(一个IObjectModifiedEvent
的直接子类)在原型内容对象被更改时发出。在但是,事件本身不会告诉您是否上载了新文件。但是,应该可以获得请求(上下文.请求应该通过采集给你当前的请求,例如)看看是否有一个文件对象与字段匹配。如果是这样,用户为该字段上载了一个新文件,
FileField
将被更新。在相关问题 更多 >
编程相关推荐