2

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

我有一个领域。这是一个网址。它是“只读的”

保持非常简单:

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

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

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

现在,当对象处于编辑模式时,我想显示 url - 但当然不要让他们编辑它 - 甚至给他们一种他们可以编辑它的印象。这是一个“计算字段”,但实际上,它只是一个字符串。真的不需要计算任何东西,所以我避免使用“表达式”。

你如何在原型中定义这个字段?


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

4

1 回答 1

4

呵呵。在我输入问题时想通了。

我正在使用带有 ComputedWidget 的 StringField。

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

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

希望这对其他人有帮助。

于 2013-08-03T02:03:25.783 回答