首页 文章

防止Django将域前置到RSS源中的URL的开头

提问于
浏览
0

我是以http开头的 . 因此,应该是itunes://的网址最终为http://example.comitunes:// ...

Update: 因为我'm not building the feed based on a model, I'm在Feed类中使用以下内容来创建链接 . 我已经验证了它们在传递给item_link()时应该完全正常,但Django将http://example.com附加到不以http开头的每个链接的前面:

def item_link(self, item):
  return item['url']

如果链接是http://foo.com/some_external_domain/,则没有问题 . 如果链接是itunes:// some_itunes_store_link,则Django将其转换为http://example.comitunes://some_itunes_store_link

域名是正确的 . 那不是问题 . 问题是我不能在不破坏该链接的情况下将域名置于应用程序链接之前 . 我无法弄清楚如何告诉Django停止纠正不需要纠正的链接 .

1 回答

  • 0

    这在Django中是不可能的 .

    根据Django的feed documentation

    如果链接未返回域,则联合框架将根据您的SITE_ID设置插入当前站点的域 .

    我的解决方案是手动构建整个RSS提要作为模板 . 对于Django feed中应该是一个简单的选项来说,这是一个不幸的解决方案,但它确实有效 .

相关问题