Mrdoc/app_doc/sitemaps.py

56 lines
1.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# coding:utf-8
# @文件: sitemaps.py
# @创建者:州的先生
# #日期2020/2/26
# 博客地址zmister.com
from django.contrib.sitemaps import Sitemap,GenericSitemap
from django.urls import reverse
from app_doc.models import Doc,Project
# 首页地图
class HomeSitemap(Sitemap):
priority = 0.5
changefreq = 'daily'
def items(self):
return ['pro_list']
def location(self, item):
return reverse(item)
# 文集地图
class ProjectSitemap(Sitemap):
changefreq = "daily"
priority = 0.8
def items(self):
return Project.objects.filter(role=0)
# 文档地图
class DocSitemap(Sitemap):
changefreq = "daily"
priority = 0.8
def __init__(self,pro):
self.pro = pro
def items(self):
return Doc.objects.filter(status=1,top_doc=self.pro)
def lastmod(self,obj):
return obj.modify_time
all_sitemaps = {}
all_sitemaps['home'] = HomeSitemap()
for project in Project.objects.filter(role=0):
info_dict = {
'queryset': Doc.objects.filter(status=1,top_doc=project.id),
}
# sitemap = GenericSitemap(info_dict,priority=0.6)
sitemap = DocSitemap(pro=project.id)
# dict key is provided as 'section' in sitemap index view
all_sitemaps[str(project.id)] = sitemap
# print(all_sitemaps)