django如何快速生成基本的静态sitemap
修改project配置文件settings.py
在INSTALLED_APPS添加:
'django.contrib.sites',
'django.contrib.sitemaps',
做migrate会生成新的db table(django_site):
python manage.py migrate sites
在settings.py里添加:
SITE_ID = 1
修改db table(django_site)
domain/name改成你的域名,不要带http或者https。例如: www.domytool.com
在project的配置目录添加新文件sitemaps.py
from django.contrib import sitemaps
from django.urls import reverse
class StaticViewSitemap(sitemaps.Sitemap):
priority = 0.8
changefreq = 'daily'
protocol = 'https'
def items(self):
return ['thebase:index', 'thebase:about',
'gdp:index', 'gdp:compare',
'topcom:index', 'topcom:compare']
def location(self, item):
return reverse(item)
修改project的配置urls.py
from django.contrib.sitemaps.views import sitemap
from .sitemaps import StaticViewSitemap
sitemaps = {
'static': StaticViewSitemap,
}
urlpatterns = [
# ......
path('sitemap.xml', sitemap, {'sitemaps': sitemaps},
name='django.contrib.sitemaps.views.sitemap'),
]
浏览器直接访问
https://www.domytool.com/sitemap.xml
注意在project的配置目录下即可,不用到app下。
注意刷新服务:
sudo service apache2 restart
“django如何快速生成基本的静态sitemap”有1个评论。