您好,登錄后才能下訂單哦!
本篇文章為大家展示了如何在Django中添加sitemap,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
1、啟用sitemap
在django的settings.py的INSTALLED_APPS中添加
'django.contrib.sites', 'django.contrib.sitemaps',
然后migrate數據庫:
$ ./manage.py makemigrations $ ./manage.py migrate
登陸Django后臺,修改SITE為你Django網站的域名和名稱,然后在settings.py中加入SITE_ID = 1來制定當前的站點。
2、添加sitemap功能
(1)創建sitemap
創建sitemap.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
(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'),
上述內容就是如何在Django中添加sitemap,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。