Add function to build canonical url
This commit is contained in:
parent
e8d73b9909
commit
b59377471a
6 changed files with 87 additions and 41 deletions
|
@ -8,6 +8,8 @@ from django.urls import reverse
|
|||
from django.views import View
|
||||
from django.views.generic import DetailView, ListView, TemplateView
|
||||
|
||||
from gallery.utils import build_canonical_url
|
||||
|
||||
from ..models import Album, Photo, Redir
|
||||
|
||||
|
||||
|
@ -32,11 +34,11 @@ class PhotosList(ListView):
|
|||
page_obj = context.get('page_obj')
|
||||
|
||||
# Canonical_url
|
||||
page = self.request.GET.get('page')
|
||||
if page_obj.number > 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'))
|
||||
canonical_url = build_canonical_url(
|
||||
self.request,
|
||||
reverse('gallery:photos_url'),
|
||||
params={'page': page_obj.number, 'order': order}
|
||||
)
|
||||
|
||||
context.update({
|
||||
'order': self.request.GET.get('order', 'latest'),
|
||||
|
@ -54,7 +56,6 @@ class PhotoDetail(DetailView):
|
|||
def get_object(self, queryset=None):
|
||||
album_slug = self.kwargs.get('album_slug')
|
||||
photo_slug = self.kwargs.get('photo_slug')
|
||||
# photo = get_object_or_404(Photo.objects.select_related('album'), slug=photo_slug, album__slug=album_slug)
|
||||
photo = get_object_or_404(Photo.objects.select_related('album'), slug=photo_slug, album__slug__iexact=album_slug)
|
||||
|
||||
if photo.slug not in self.request.session:
|
||||
|
@ -65,10 +66,16 @@ class PhotoDetail(DetailView):
|
|||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super().get_context_data(**kwargs)
|
||||
|
||||
# Canonical_url
|
||||
canonical_url = build_canonical_url(
|
||||
self.request,
|
||||
self.object.get_absolute_url()
|
||||
)
|
||||
context.update({
|
||||
'next': self.object.get_next(),
|
||||
'prev': self.object.get_prev(),
|
||||
'canonical_url': self.request.build_absolute_uri(self.object.get_absolute_url()),
|
||||
'canonical_url': canonical_url,
|
||||
'liked': self.request.session.get(f"liked_{self.object.slug}", False)
|
||||
})
|
||||
return context
|
||||
|
@ -131,10 +138,16 @@ class PhotoSlideshow(DetailView):
|
|||
if not next_photo:
|
||||
next_photo = Photo.objects.filter(album=current_photo.album).order_by('taken_at').first()
|
||||
|
||||
# Canonical_url
|
||||
canonical_url = build_canonical_url(
|
||||
self.request,
|
||||
current_photo.get_slideshow_url()
|
||||
)
|
||||
|
||||
context.update({
|
||||
'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()),
|
||||
'canonical_url': canonical_url,
|
||||
})
|
||||
|
||||
return context
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue