美文网首页
2019-11-18 django2.0 配置 sitemap

2019-11-18 django2.0 配置 sitemap

作者: 早起早起早起up | 来源:发表于2019-11-18 17:40 被阅读0次

1.首先理解sitemap

Sitemap 可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页。最简单的 Sitemap 形式,就是XML 文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间、更改的频率以及相对于网站上其他网址的重要程度为何等),以便搜索引擎可以更加智能地抓取网站。

对于SEO 更利于蜘蛛日志抓取

2.配置sitemap

1.启用sitemap

在INSTALLED_APPS中加入


'django.contrib.sitemaps',

'django.contrib.sites'

然后migrate数据库:

python manage.py makemigrations

python  manage.py migrate

在数据库 中django_site 中加入网站域名和名称 -------与之对应ID 然后在settings.py中加入SITE_ID = 1来制定当前的站点。

2、添加sitemap功能 显示文章网址 ()

在articlet  models  中添加
def get_absolute_url(self):
return '/article/?id=%s' % (self.id)

在 urls 中加入

info_dict = {
'queryset': articlet.objects.all(),
'date_field':'add_time',
}

path('sitemap.xml', sitemap,
{'sitemaps': {'Earth': GenericSitemap(info_dict,priority=0.6)}},
name='django.contrib.sitemaps.views.sitemap'),

3.如果显示的不知文章 还有其他

class StaticViewSitemap(Sitemap):
    priority = 0.5
    changefreq = 'daily'

     def items(self):
        return Article.objects.all()
    def lastmod(self, obj):
       return obj.last_mod_time  ----自己model  的字段
    def get_absolute_url(self):
      return '/article/?id=%s' % (self.id)  ----这个写自己的转地址
2.
class ArticleSiteMap(Sitemap):
    
    priority = "0.6"

    def items(self):
        return Article.objects.all()
    def lastmod(self, obj):
        return obj.last_mod_time  ----自己model  的字段
    def get_absolute_url(self):
      return '/article/?id=%s' % (self.id)  ----这个写自己的转地址

###1在url 添加

    sitemaps = {
    'blog': ArticleSiteMap,
    'Category': CategorySiteMap,
    'Tag': TagSiteMap,
    'User': UserSiteMap,
    'static': StaticViewSitema 
}
url(r'^sitemap\.xml$', sitemap, {'sitemaps': sitemaps},
        name='django.contrib.sitemaps.views.sitemap'),

相关文章

网友评论

      本文标题:2019-11-18 django2.0 配置 sitemap

      本文链接:https://www.haomeiwen.com/subject/ybmbictx.html