Django站点地图 - 在URL前面加倍http://

时间:2014-05-21 17:23:30

标签: python django sitemap

在Django 1.4.12中,我有一个Sitemap类:

class MySitemap(Sitemap):
    def items(self):
        return ['/my/url1/',
                '/my/url2/',]

    def location(self, obj):
        return str(obj)

和urls.py

sitemaps = {
            'global': MySitemap,
            }

...

urlpatterns = patterns('',
...
url(r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}),

但是,我的生成sitemap.xml前面有http://http://,例如:

...
<url><loc>http://http://mywebsite.com/my/url1</loc></url>
...

是什么导致了这个问题?

1 个答案:

答案 0 :(得分:4)

您可能已在http://对象的域名中包含Site来自网站框架(django.contrib.sites)。删除它。

此字段应仅包含实际域名,而不包括协议,因为协议本身可以更改(例如,https://)。