我有一个Django项目,我正在尝试为我的静态网址创建一个站点地图(没有模型)。但是,在运行python manage.py runserver
并转到http://127.0.0.1:8000/sitemap.xml
时,我会将其清空:
<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 :(得分:0)
我刚刚发现了问题所在。
似乎你需要定义函数items
。
def items(self):
list_of_url_names = ['home', 'about', ..., 'contact']
return list_of_url_names
然后sitemap.xml
不再为空。