获取 wagtail 页面的绝对或相对 url
Get absolute or relative url of wagtail page
我必须遵循应该 return 正确的 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" 开头的绝对 url 而不是 "https".
在我的 "view/model" 中 return 正确的相对 url 或正确的绝对 url(在我的情况下以 https 开头)的正确方法是什么?
谢谢
如果站点模型的基础 URL 是 HTTPS,Wagtail 应该开箱即用。
为此有一个邮件列表线程。 https://groups.google.com/forum/#!topic/wagtail/atUeMXcNoCc
我必须遵循应该 return 正确的 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" 开头的绝对 url 而不是 "https".
在我的 "view/model" 中 return 正确的相对 url 或正确的绝对 url(在我的情况下以 https 开头)的正确方法是什么?
谢谢
如果站点模型的基础 URL 是 HTTPS,Wagtail 应该开箱即用。
为此有一个邮件列表线程。 https://groups.google.com/forum/#!topic/wagtail/atUeMXcNoCc