Plone Archetypes - 如何在base_edit视图中显示只读字段

时间:2013-08-03 02:03:26

标签: python plone archetypes

我在论坛上看到了很多问题,但仍然没有好的答案。

我有一个领域。这是一个URL。这是'只读'

保持简单:

   atapi.StringField('Url',
                     mode="r")

用户并不打算提供URL,但是当他们在编辑表单上点击“保存”时,将生成URL。

具体来说,一个事件将会触发,附件将被发送到其他地方,结果是一个可以获取文件的URL - 想想“上传到Youtube”或其他东西。

现在,当对象处于编辑模式时,我想显示网址 - 但当然不允许他们对其进行编辑 - 甚至让他们觉得他们可以编辑它。这是一个“计算字段”但实际上,它只是一个字符串。不需要真正计算任何东西,所以我避免使用'表达式'。

如何在原型中定义此字段?


在我完成并提交问题之前弄清楚了,所以我在下面发布了我的解决方案。仍然对其他答案感兴趣,

1 个答案:

答案 0 :(得分:4)

HEH。在我输入问题时想出来。

我正在使用带有ComputedWidget的StringField。

编辑表单显示该字段,但只是将其呈现为纯文本。

atapi.StringField('Url',
                   mode="rw",
                   widget=atapi.ComputedWidget(label="Url",
                                            description="Url set after upload",
                                            visible = { 'edit' :'visible', 
                                                        'view' : 'visible' },
                                            ),
                  ), 

希望这有助于其他人。