如何在ignoreContext=True的update methode中设置Plone自动表单的值
我试图创建一个表单,在其中存储上下文之外的值。存储已经完成并且工作良好,但是现在我希望更新方法能够在渲染过程中填充表单。因此,我以这种方式重写Form类的update方法:如何在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
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的回答。搜索此字段时使用了错误的关键字。