如何为 zope.schema.list 的灵​​巧内容类型设置默认值?

How to set a default for a zope.schema.list of a dexterity content type?

这是 Plone 中敏捷内容类型的定义:

  <schema>
    <field name="categories" type="zope.schema.List">
      <description>Each line one category</description>
      <required>True</required>
      <title>Categories</title>
      <default>[u'General', ]</default>
      <value_type type="zope.schema.TextLine"></value_type>
      <missing_value>()</missing_value>
    </field>
  </schema>

必须如何声明默认值?我希望必须以上述方式提供列表。但这是行不通的。有什么建议吗?

您不应该提供手动序列化的列表,只需创建一个 XML 元素的列表。使用以下格式:

  <default>
    <element>General</element>
    <element>Specific</element>
  </default>

提示:找到正确格式的最简单方法是使用 Dexterity 内联架构编辑器,因此您可以在 UI 中设置默认值,然后只需切换到 "Edit XML Field model" 得到结果 XML 来源。