Django增多sitemap的方式身先士卒

sitemap是 谷歌 最初引进的网址地图说道,选用 XML 格式,它的成效简单的说便是优化搜索引擎的目录功用,详细的批注能够参照 维基百科。

sitemap是 谷歌 最初引入的网址地图说道,选用 XML 格式,它的效应简单的讲就是优化找寻引擎的目录成效,详细的解释能够参照他事他说加以考察百度百科 。

1、启用sitemap在django的settings.py的INSTALLED_APPS中添加

上边介绍下哪些为Django站点增添sitemap效能。

'django.contrib.sites','django.contrib.sitemaps',

1、启用sitemap

然后migrate数据库:

在django的settings.py的INSTALLED_APPS中添加

$ ./manage.py makemigrations$ ./manage.py migrate
'django.contrib.sites',
'django.contrib.sitemaps',

登录Django后台,修改SITE为你Django网址的域名和名称,然后在settings.py中步入SITE_ID = 1来制定当前的站点。

然后migrate数据库:

2、添加sitemap功能

$ ./manage.py makemigrations
$ ./manage.py migrate

创建sitemap

登入Django后台,修改SITE为您Django网址的域名和称号,然后在settings.py中投入SITE_ID = 1来制订当前的站点。

成立sitemap.py.内容周围下面包车型大巴代码:

2、添加sitemap功能

from django.contrib.sitemaps import Sitemapfrom blog.models import Article, Category, Tagfrom accounts.models import BlogUserfrom django.contrib.sitemaps import GenericSitemapfrom django.core.urlresolvers import reverseclass StaticViewSitemap: priority = 0.5 changefreq = 'daily' def items: return ['blog:index', ] def location(self, item): return reverseclass ArticleSiteMap: changefreq = "monthly" priority = "0.6" def items: return Article.objects.filter(status='p') def lastmod(self, obj): return obj.last_mod_timeclass CategorySiteMap: changefreq = "Weekly" priority = "0.6" def items: return Category.objects.all() def lastmod(self, obj): return obj.last_mod_timeclass TagSiteMap: changefreq = "Weekly" priority = "0.3" def items: return Tag.objects.all() def lastmod(self, obj): return obj.last_mod_timeclass UserSiteMap: changefreq = "Weekly" priority = "0.3" def items: return BlogUser.objects.all() def lastmod(self, obj): return obj.date_joined

(1)创建sitemap

url配置

成立sitemap.py.内容周边下边包车型地铁代码:

url.py中加入:

from django.contrib.sitemaps import Sitemap
from blog.models import Article, Category, Tag
from accounts.models import BlogUser
from django.contrib.sitemaps import GenericSitemap
from django.core.urlresolvers import reverse

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

 def items(self):
  return ['blog:index', ]

 def location(self, item):
  return reverse(item)


class ArticleSiteMap(Sitemap):
 changefreq = "monthly"
 priority = "0.6"

 def items(self):
  return Article.objects.filter(status='p')

 def lastmod(self, obj):
  return obj.last_mod_time


class CategorySiteMap(Sitemap):
 changefreq = "Weekly"
 priority = "0.6"

 def items(self):
  return Category.objects.all()

 def lastmod(self, obj):
  return obj.last_mod_time


class TagSiteMap(Sitemap):
 changefreq = "Weekly"
 priority = "0.3"

 def items(self):
  return Tag.objects.all()

 def lastmod(self, obj):
  return obj.last_mod_time


class UserSiteMap(Sitemap):
 changefreq = "Weekly"
 priority = "0.3"

 def items(self):
  return BlogUser.objects.all()

 def lastmod(self, obj):
  return obj.date_joined
from DjangoBlog.sitemap import StaticViewSitemap, ArticleSiteMap, CategorySiteMap, TagSiteMap, UserSiteMapsitemaps = { 'blog': ArticleSiteMap, 'Category': CategorySiteMap, 'Tag': TagSiteMap, 'User': UserSiteMap, 'static': StaticViewSitemap}url(r'^sitemap.xml$', sitemap, {'sitemaps': sitemaps}, name='django.contrib.sitemaps.views.sitemap'),

(2)url配置

迄今,全体酿成,运维你的django程序,浏览器输入:

url.py中加入:

from DjangoBlog.sitemap import StaticViewSitemap, ArticleSiteMap, CategorySiteMap, TagSiteMap, UserSiteMap

sitemaps = {

 'blog': ArticleSiteMap,
 'Category': CategorySiteMap,
 'Tag': TagSiteMap,
 'User': UserSiteMap,
 'static': StaticViewSitemap
}

url(r'^sitemap.xml$', sitemap, {'sitemaps': sitemaps},
  name='django.contrib.sitemaps.views.sitemap'),

就足以看见已经成功生成了,然后就足以付出这几个地点给搜索引擎。 小编的网址的sitemap的地点是:

迄今,全体成就,运营你的django程序,浏览器输入:

就能够瞥见已经成功生成了,然后就足以交给这些地点给找寻引擎。 作者的网址的sitemap的地址是:

此作品同有的时候间一并到自个儿的民用博客 多谢扶助

以上正是本文的全体内容,希望对大家的求学抱有助于,也意在我们多多照看脚本之家。

您也许感兴趣的稿子:

  • 在Django中使用Sitemap的主意批注

本文由365bet体育在线官网发布于网络编程,转载请注明出处:Django增多sitemap的方式身先士卒

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。