如何在ignoreContext=True的update methode中设置Plone自动表单的值

如何在ignoreContext=True的update methode中设置Plone自动表单的值,plone,zope,Plone,Zope,我试图创建一个表单,在其中存储上下文之外的值。存储已经完成并且工作良好,但是现在我希望更新方法能够在渲染过程中填充表单。因此,我以这种方式重写Form类的update方法: def update(self): super(ConfigurationForm,self).update() form = self.request.form if not form: #We are on a rendering process provider

我试图创建一个表单,在其中存储上下文之外的值。存储已经完成并且工作良好,但是现在我希望更新方法能够在渲染过程中填充表单。因此,我以这种方式重写Form类的update方法:

def update(self):
    super(ConfigurationForm,self).update()
    form = self.request.form
    if not form:
        #We are on a rendering process
        provider = self.getProvider()
        settings = provider.get()
        #TODO: update widget values !?
设置是一个dict,其中键等于接口字段的名称

因此,我尝试了许多方法来更新小部件的值:

  • 使用dataconverter(太复杂了,不知道这是否是唯一的方法
  • 更新self.request.form dict并再次调用update方法
  • 玩野外物体

实现此目的的好方法是什么?(支持所有类型的字段?

不要忽略上下文。请重写getContent()以返回dict。dict将用作伪上下文。

谢谢@optilude的回答。搜索此字段时使用了错误的关键字。