【发布时间】:2018-04-15 04:29:16
【问题描述】:
我想添加一个默认值并让它填充基于 Django 模型的 Wagtail 模板中的字段。我知道我正在返回该值,因为如果我用这个值填充“帮助文本”属性,它可以工作,但我无法让它用默认属性填充字段。我正在为内容面板使用字段面板。这堂课很长,所以我没有发布整个内容。
def live_video_url():
return constants.streaming_info['live-video-captions']
class MeetingPage(Page):
live_video_url = models.URLField(
default=live_video_url,
blank=False,
help_text=live_video_url,
null=True
)
content_panels = [
FieldPanel('live_video_url'),
]
我在 Wagtail 编辑器的实际字段中得到了这个,但是帮助文本中的正确 url 字符串:
<django.db.models.query_utils.DeferredAttribute object at 0x104547470>
【问题讨论】:
-
不确定这是否是您的问题,因为您似乎在说字段值本身呈现不正确,但
help_text不接受您传递的可调用对象。它必须是一个字符串。 -
无论我将它呈现为字符串还是作为可调用的返回值,帮助文本都可以工作:这些工作中的任何一个:return str(constants.streaming_info['live-video-captions']) - 或 - 返回 constants.streaming_info['live-video-captions']
-
constants在哪里以及如何定义?您可以将此添加到您的问题中吗? -
null=True不可能是正确的。不应在字符串字段上使用 null。 docs.djangoproject.com/en/2.0/ref/models/fields/#null
标签: django django-models wagtail