使用 collective.z3cform.datagridfield 与 plone.app.registry 和 GenericSetup

2024-05-14 10:33:58 发布

您现在位置:Python中文网/ 问答频道 /正文

Plone 4.2.0.1版,plone.app.registry1.1条,普隆。超模1.1.1,集合.z3cform.datagridfield0.11个

我正在尝试使用collective.z3cform.datagridfield为了plone.app.registry字段,但在实际设置值时遇到问题。文件似乎没有说 除了使用collective.z3cform.datagridfield.registry.DictRow获取注册表的持久版本。在

作为参考,我的课程如下所示:

class IMySchema(form.Schema):
  code = schema.TextLine(title = _(u"Code"), required=False)
  name = schema.TextLine(title = _(u"Name"), required=False)

from collective.z3cform.datagridfield.registry import DictRow
class IMySettings(form.Schema):
  """ """
  form.widget(display_fields=DataGridFieldFactory)
  display_fields = schema.List(
                     title = _(u"Display Fields"),
                     description = _(u"The fields that will be displayed in view and edit pages"),
                     value_type=DictRow(title=_(u"Field"), schema=IMySchema),
                     required=False,
                     )

我可以用GenericSetup设置一个空白值,并且我的控制面板表单可以与这个注册表交互。 但我无法让GenericSetup从中导入值注册表.xml为了这个记录。输入一个值TTP并使用GenericSetup导出它将得到以下结果:

^{pr2}$

但是如果我试图导入它,我会得到一个错误!在

TypeError: ('Could not adapt', None, <InterfaceClass zope.schema._bootstrapinterfaces.IFromUnicode>)

就是这条线plone.supermodel.utils“converter=IFromUnicode(field)”,在调试器中我看到'field'的值实际上是None。在

那么,正确的处理方法是什么呢注册表.xml对于datagridfields?还是我要在中以编程方式添加记录设置处理程序.py还是什么?我对使用还比较陌生 注册处和普隆。超模考虑到这个领域没有说,如果注册表.xml完全是错误的。在


Tags: formfalsefieldstitleschema注册表plonerequired
1条回答
网友
1楼 · 发布于 2024-05-14 10:33:58

我认为问题是您将代码名称声明为架构.TextLine(unicode)但您正在注册表中使用字符串;请尝试以下操作:

{u'code':u'authors',u'name':u'authors'}

相关问题 更多 >

    热门问题