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

时间:2016-09-08 20:23:29

标签: django python-2.7 django-views

我正在创建一个包含URL的应用程序链接的RSS源,但Django正在将域名添加到不以 http 开头的任何链接。因此,应该 itunes:// 的网址最终为 http://example.comitunes:// ...

更新 因为我没有基于模型构建feed,所以我在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 :(得分:0)

这在Django中是不可能的。

根据Django的feed documentation

  

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

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