gpt4 book ai didi

plone - setText() 在 Plone 对象上失败

转载 作者:行者123 更新时间:2023-12-01 05:30:37 25 4
gpt4 key购买 nike

我担心我可能会忽略一些非常明显的东西,但我会很感激任何建议。我在 Plone 的 Ploneformgen 表单文件夹中有一个名为“settings”的纯文本文件。下面的代码成功地改变了这个文件中的文本,当我把它放在一个 Python 脚本中时,当我使用表单字段之一中的覆盖(例如字符串字段中的默认表达式)查看表单时调用。

obj = context['settings']
obj.setText('Some text:2;More text:2')
obj.reindexObject()

我的问题是我希望能够使用自定义脚本适配器或使用表单的验证后脚本覆盖调用的脚本来修改“设置”中的文本。这些都不起作用(以及用于验证该字段的单个字段中的覆盖似乎也不允许这样做)。

为什么 setText() 在某些地方有效而在其他地方无效(行 obj = context['settings'] 似乎没有问题)?我错过了什么?

据我所知,这不是权限问题,而且我有点困惑,如果在查看表单时调用可以工作的代码,如果在提交表单时调用则不起作用。

我可以创建一个新的文本文件并使用以这些方式调用的脚本向其中添加文本没问题:调用 setText() 似乎是一个特定问题。在现有文件上。

最佳答案

解决方法是在调用 setText() 时显式设置 mimetype :

obj.setText("Some text", mimetype='text/plain')

或者
obj.setText("Some text", mimetype='text/html')

作为适当的。我不知道这为什么有效,但确实如此。

关于plone - setText() 在 Plone 对象上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11394024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com