亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Django添加sitemap的方法示例

 更新時(shí)間:2018年08月06日 08:23:27   作者:緣來  
這篇文章主要介紹了Django添加sitemap的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

sitemap是 Google 最先引入的網(wǎng)站地圖協(xié)議,采用 XML 格式,它的作用簡而言之就是優(yōu)化搜索引擎的索引效率,詳細(xì)的解釋可以參考百度百科

下面介紹下如何為Django站點(diǎn)添加sitemap功能。

1、啟用sitemap

在django的settings.py的INSTALLED_APPS中添加

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

然后migrate數(shù)據(jù)庫:

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

登陸Django后臺(tái),修改SITE為你Django網(wǎng)站的域名和名稱,然后在settings.py中加入SITE_ID = 1來制定當(dāng)前的站點(diǎn)。

2、添加sitemap功能

(1)創(chuàng)建sitemap

創(chuàng)建sitemap.py.內(nèi)容類似下面的代碼:

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

(2)url配置

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'),

至此,全部完成,運(yùn)行你的django程序,瀏覽器輸入:http://127.0.0.1:8000/sitemap.xml

就可以看見已經(jīng)成功生成了,然后就可以提交這個(gè)地址給搜索引擎。 我的網(wǎng)站的sitemap的地址是:https://www.fkomm.cn/sitemap.xml

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論