0

我必须遵循应该返回正确 url(相对或绝对)的代码片段

class LinkFields(models.Model):
    link_external   = models.URLField("External link", blank=True)
    link_page       = models.ForeignKey('wagtailcore.Page', null=True, blank=True, related_name='+')
    link_document   = models.ForeignKey('wagtaildocs.Document', null=True, blank=True, related_name='+' )

    @property
    def url(self):
        if self.link_page:
            return self.link_page.url
        elif self.link_document:
            return self.link_document.url
        else:
            return self.link_external

    panels = [
        FieldPanel('link_external'),
        PageChooserPanel('link_page'),
        DocumentChooserPanel('link_document'),
    ]

    class Meta:
        abstract = True

因此,如果我将“.url”属性用于“wagtailcore.Page”,则会得到一个以“http”而不是“https”开头的绝对 url。

在我的“视图/模型”中返回正确的相对 url 或正确的绝对 url(在我的情况下以 https 开头)的正确 wagtail 方法是什么?

谢谢

4

1 回答 1

1

如果站点模型的基本 URL 是 HTTPS,Wagtail 应该开箱即用。

有一个邮件列表线程。https://groups.google.com/forum/#!topic/wagtail/atUeMXcNoCc

于 2018-07-03T08:00:42.043 回答