获取w页面的绝对或相对URL

时间:2018-07-03 07:57:33

标签: django url wagtail wagtail-pageurl

我必须遵循以下代码段,该代码段应返回正确的网址(相对或绝对网址)

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(在我的情况下以https开头)的正确方法是什么?

谢谢

1 个答案:

答案 0 :(得分:1)

如果站点模型的基本URL是HTTPS,Wagtail应该直接使用。

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