我在论坛上看到了很多问题,但仍然没有好的答案。
我有一个领域。这是一个URL。这是'只读'
保持简单:
atapi.StringField('Url',
mode="r")
用户并不打算提供URL,但是当他们在编辑表单上点击“保存”时,将生成URL。
具体来说,一个事件将会触发,附件将被发送到其他地方,结果是一个可以获取文件的URL - 想想“上传到Youtube”或其他东西。
现在,当对象处于编辑模式时,我想显示网址 - 但当然不允许他们对其进行编辑 - 甚至让他们觉得他们可以编辑它。这是一个“计算字段”但实际上,它只是一个字符串。不需要真正计算任何东西,所以我避免使用'表达式'。
如何在原型中定义此字段?
在我完成并提交问题之前弄清楚了,所以我在下面发布了我的解决方案。仍然对其他答案感兴趣,
答案 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' },
),
),
希望这有助于其他人。