Plone 注册表问题:数据在重启和权限问题后消失

Plone Registry Issues: Data disappears after restart and permission issue

运行 克隆版 5.0.0

1.注册表权限问题

我正在为检索做类似以下的事情:

registry = getUtility(IRegistry)
building_hours = registry['polklibrary.hours.cache']
return building_hours

登录时效果很好,但对于匿名用户来说,它 return 是 None 类型。不会抛出错误。我有点迷路了为什么?可能是因为#2.

2。重启plone后注册表数据丢失

#1 中的 hours 类型是 Dict 类型(在注册表中是允许的)。但是,它会在重新启动时丢失。

我检查了所有这些资源,但没有成功: https://pypi.python.org/pypi/plone.registry https://github.com/plone/plone.app.registry

(顺便说一句,注册表很棒!)

编辑:

什么保存数据: https://github.com/polklibrary/polklibrary.google.hours/blob/master/polklibrary.google.hours/src/polklibrary/google/hours/browser/cron.py

什么读取数据: https://github.com/polklibrary/polklibrary.google.hours/blob/master/polklibrary.google.hours/src/polklibrary/google/hours/browser/feeds.py

这是因为字典不是永久性的。 Zope 数据库没有意识到您已经对字典进行了更改。你需要给它一个提示。最简单的方法是显式保存整个字典,在您的情况下是这样的:

registry['polklibrary.google.hours.cache'] = registry['polklibrary.google.hours.cache']