2017-08-16 74 views
0

我有一個Django項目,我正在嘗試爲我的靜態URL(無模型)創建站點地圖。但是,運行python manage.py runserver和去http://127.0.0.1:8000/sitemap.xml的時候,我明白了空:sitemap.xml爲Django中的靜態URL爲空

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"></urlset> 

我的代碼如下所示:

#urls.py 
from main_app.sitemaps import StaticSitemap 

sitemaps = { 
    'static': StaticSitemap(), 
} 

urlpatterns = [ 
    ... 
    url(r'^sitemap\.xml$', sitemap, {'sitemaps': sitemaps}), 
    ... 
] 
urlpatterns += i18n_patterns(
... 
) 

#sitemaps.py 
from django.contrib.sitemaps import Sitemap 
from django.urls import reverse 

class StaticSitemap(Sitemap): 
    priority = 0.5 
    changefreq = 'weekly' 
    i18n = True 

    def location(self, item): 
     return reverse(item) 

documentation顯示了Models爲例並修改了功能items;但由於我沒有,我不知道我是否缺少那裏的東西。

我在做什麼錯?

回答

0

我剛剛發現問題是什麼。

無論如何,你似乎需要定義函數items

def items(self): 
    list_of_url_names = ['home', 'about', ..., 'contact'] 
    return list_of_url_names 

然後sitemap.xml不再是空的。