我使用Dexterity Types控制面板configlet上的Web界面为内容类型定义建模,以便在项目中包含生成的代码:
我最终得到了一个像这样的文件,其中包含一个RichText字段:
<model
xmlns:i18n="http://xml.zope.org/namespaces/i18n"
xmlns:security="http://namespaces.plone.org/supermodel/security"
xmlns:marshal="http://namespaces.plone.org/supermodel/marshal"
xmlns:form="http://namespaces.plone.org/supermodel/form"
xmlns:indexer="http://namespaces.plone.org/supermodel/indexer"
xmlns="http://namespaces.plone.org/supermodel/schema">
<schema>
...
<field name="biography" type="plone.app.textfield.RichText">
<description>A detailed description of a person's life.</description>
<required>False</required>
<title>Biography</title>
</field>
...
</schema>
</model>
我将该文件复制到项目中我称为models
的目录。
我也导出了类型信息,我编辑的文件如下所示:
<?xml version="1.0"?>
<object name="mytype" meta_type="Dexterity FTI">
...
<property name="schema">my.project.content.IMyType</property>
<property name="klass">my.project.content.MyType</property>
...
</object>
然后我在content.py
模块中添加了以下代码:
from plone.dexterity.content import Item
from plone.supermodel import model
class IMyType(model.Schema):
"""My Type."""
model.load('models/mytype.xml')
class MyType(Item):
"""My Type."""
最后,我添加了一些基本测试,但是它们失败并出现以下错误(完全回溯here):
ConfigurationExecutionError: <class 'plone.supermodel.parser.SupermodelParseError'>: Field type plone.app.textfield.RichText specified for field biography is not supported
我在这里做错了什么?我忘了什么吗?