Update Canonical_url
This commit is contained in:
parent
7d52895b19
commit
bf084c2085
4 changed files with 48 additions and 19 deletions
|
@ -66,6 +66,9 @@ class Photo(models.Model):
|
|||
def get_absolute_url(self):
|
||||
return reverse('gallery:photo_url', kwargs={'album_slug': self.album.slug, 'photo_slug': self.slug})
|
||||
|
||||
def get_slideshow_url(self):
|
||||
return reverse('gallery:photo_slideshow_url', kwargs={'album_slug': self.album.slug, 'photo_slug': self.slug})
|
||||
|
||||
class Meta:
|
||||
unique_together = ('album', "slug")
|
||||
verbose_name_plural = "Photos"
|
||||
|
|
|
@ -7,6 +7,9 @@
|
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="{% trans "Muistox Photo Gallery" %}">
|
||||
<title>{% trans "Slideshow" %} : {{ photo.album.name }} - {% trans "Gallery" %} </title>
|
||||
{% if canonical_url %}
|
||||
<link rel="canonical" href="{{ canonical_url }}">
|
||||
{% endif %}
|
||||
{% if next_photo %}
|
||||
<meta http-equiv="refresh" content="5; url={% url 'gallery:photo_slideshow_url' next_photo.album.slug next_photo.slug %}" />
|
||||
{% endif %}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue