Update Canonical_url

This commit is contained in:
Nyymix 2025-05-04 20:19:32 +03:00
parent 7d52895b19
commit bf084c2085
4 changed files with 48 additions and 19 deletions

View file

@ -38,14 +38,17 @@ class AlbumsList(ListView):
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
page = int(self.request.GET.get('page', 1))
# Canonical_url
canonical_url = self.request.build_absolute_uri(reverse('gallery:albums_url'))
if page > 1:
canonical_url += f'?page={page}'
context['canonical_url'] = canonical_url
page = self.request.GET.get('page')
if page and page != '1':
canonical_url = f"{self.request.build_absolute_uri(reverse('gallery:albums_url'))}?page={page}"
else:
canonical_url = self.request.build_absolute_uri(reverse('gallery:albums_url'))
context.update({
'canonical_url': canonical_url,
})
return context
@ -66,10 +69,11 @@ class AlbumDetail(DetailView):
page_obj = paginator.get_page(self.request.GET.get('page'))
# Canonical_url
page = int(self.request.GET.get('page', 1))
canonical_url = self.request.build_absolute_uri(self.object.get_absolute_url())
if page > 1:
canonical_url += f'?page={page}'
page = self.request.GET.get('page')
if page and page != '1':
canonical_url = f"{self.request.build_absolute_uri(self.object.get_absolute_url())}?page={page}"
else:
canonical_url = self.request.build_absolute_uri(self.object.get_absolute_url())
context.update({
'photos': page_obj.object_list,
@ -100,11 +104,19 @@ class AlbumSearch(TemplateView):
paginator = Paginator(results, 30)
page_obj = paginator.get_page(self.request.GET.get('page'))
# Canonical URL
page = self.request.GET.get('page')
base_url = self.request.build_absolute_uri(reverse('gallery:search_url'))
if page and page != '1':
canonical_url = f"{base_url}?page={page}"
else:
canonical_url = base_url
context.update({
'results': page_obj.object_list,
'page_obj': page_obj,
'paginator': paginator,
'is_paginated': page_obj.has_other_pages(),
'canonical_url': self.request.build_absolute_uri(reverse('gallery:search_url'))
'canonical_url': canonical_url
})
return context

View file

@ -29,8 +29,18 @@ class PhotosList(ListView):
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['order'] = self.request.GET.get('order', 'latest')
context['canonical_url'] = self.request.build_absolute_uri(reverse('gallery:photos_url'))
# Canonical_url
page = self.request.GET.get('page')
if page and page != '1':
canonical_url = f"{self.request.build_absolute_uri(reverse('gallery:photos_url'))}?page={page}"
else:
canonical_url = self.request.build_absolute_uri(reverse('gallery:photos_url'))
context.update({
'order': self.request.GET.get('order', 'latest'),
'canonical_url': canonical_url,
})
return context
@ -54,10 +64,10 @@ class PhotoDetail(DetailView):
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context.update({
"next": self.object.get_next(),
"prev": self.object.get_prev(),
"canonical_url": self.request.build_absolute_uri(self.object.get_absolute_url()),
"liked": self.request.session.get(f"liked_{self.object.slug}", False)
'next': self.object.get_next(),
'prev': self.object.get_prev(),
'canonical_url': self.request.build_absolute_uri(self.object.get_absolute_url()),
'liked': self.request.session.get(f"liked_{self.object.slug}", False)
})
return context
@ -114,14 +124,15 @@ class PhotoSlideshow(DetailView):
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
current_photo = self.object
next_photo = current_photo.get_next()
if not next_photo:
next_photo = Photo.objects.filter(album=current_photo.album).order_by('taken_at').first()
context.update({
"next_photo": next_photo,
"liked": self.request.session.get(f"liked_{current_photo.slug}", False)
'next_photo': next_photo,
'liked': self.request.session.get(f"liked_{current_photo.slug}", False),
'canonical_url': self.request.build_absolute_uri(current_photo.get_slideshow_url()),
})
return context