django框架学习十四---向站点添加网站地图

走远了吗. 提交于 2020-03-06 02:45:55

这里网站地图是一个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显示不存在
在这里插入图片描述
在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!