这里网站地图是一个XML文件,可将网站页面、相关性以及更新频率通知与搜索引擎。当采用网站地图时,可实现网站内容的索引化。
激活站点和网站地图应用程序(setting.py)
SITE_ID = 1
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog.apps.BlogConfig',
'taggit',
'django.contrib.sites',
'django.contrib.sitemaps',
]
在数据库中创建应用程序表(shell)
migrate
sites应用程序与数据库同步
在blog应用程序下创建sitemaps.py
from django.contrib.sitemaps import Sitemap
from .models import Post
class PostSitemap(Sitemap):
changefreq = 'weekly'
priority = 0.9 #表示帖子页面及其站点内相关性的变化频率(最大值为1)
def items(self):
return Post.published.all() #返回包含在此网站地图中的对象的QuerySet
# def lastmod(self, obj):
# return obj.updated
最后一步添加网站地图url
from django.contrib import admin
from django.urls import path, include
from django.contrib.sitemaps.views import sitemap
from blog.sitemaps import PostSitemap
sitemaps ={
'posts': PostSitemap,
}
urlpatterns = [
path('admin/', admin.site.urls),
path('blog/', include('blog.urls', namespace='blog')),
path('sitemap.xml',sitemap,{'sitemaps':sitemaps},name='django.contrib.sitemaps.views.sitemap')
]
结果:
存在问题:
lastmod里面的updated显示不存在
来源:CSDN
作者:dj_ing
链接:https://blog.csdn.net/dj_ing/article/details/104684468