Skip to content

Commit 84c7f01

Browse files
author
yangjian
committed
feat:优化Sitemap结构和URL形式
1 parent 53956e3 commit 84c7f01

2 files changed

Lines changed: 8 additions & 12 deletions

File tree

app_doc/models.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class Meta:
2727

2828
def get_absolute_url(self):
2929
from django.urls import reverse
30-
return reverse("pro_index",
30+
return reverse("pro_index_id",
3131
kwargs={
3232
"pro_id":self.pk}
3333
)
@@ -95,10 +95,9 @@ class Meta:
9595

9696
def get_absolute_url(self):
9797
from django.urls import reverse
98-
return reverse("doc",
98+
return reverse("doc_id",
9999
kwargs={
100-
"pro_id": str(self.top_doc),
101-
"doc_id":self.pk}
100+
"doc_id": self.pk}
102101
)
103102

104103

app_doc/sitemaps.py

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,9 @@ class DocSitemap(Sitemap):
3232
changefreq = "daily"
3333
priority = 0.8
3434

35-
def __init__(self,pro):
36-
self.pro = pro
37-
3835
def items(self):
39-
return Doc.objects.filter(status=1,top_doc=self.pro)
36+
public_project_ids = Project.objects.filter(role=0).values_list('id', flat=True)
37+
return Doc.objects.filter(status=1,top_doc__in=public_project_ids)
4038

4139
def lastmod(self,obj):
4240
return obj.modify_time
@@ -61,7 +59,6 @@ def items(self):
6159
def _generate_sitemaps_dict(self):
6260
if self.sitemaps:
6361
return
64-
for project in Project.objects.filter(role=0):
65-
sitemap = DocSitemap(pro=project.id)
66-
self.sitemaps[str(project.id)] = sitemap
67-
self.sitemaps['home'] = HomeSitemap()
62+
self.sitemaps['home'] = HomeSitemap()
63+
self.sitemaps['projects'] = ProjectSitemap()
64+
self.sitemaps['docs'] = DocSitemap()

0 commit comments

Comments
 (0)