diff --git a/photo21/settings.py b/photo21/settings.py index 81f3ceb..bfce090 100644 --- a/photo21/settings.py +++ b/photo21/settings.py @@ -91,7 +91,7 @@ MIDDLEWARE = [ "django.contrib.sites.middleware.CurrentSiteMiddleware", "allauth.account.middleware.AccountMiddleware", # For the django =< 5.0 ] -if DEBUG : +if DEBUG: MIDDLEWARE += ["debug_toolbar.middleware.DebugToolbarMiddleware",] ROOT_URLCONF = "photo21.urls" diff --git a/photo21/urls.py b/photo21/urls.py index b3a036e..2db2203 100644 --- a/photo21/urls.py +++ b/photo21/urls.py @@ -14,7 +14,7 @@ from django.contrib import admin from django.urls import include, path, re_path from django.views.i18n import JavaScriptCatalog -if settings.DEBUG : +if settings.DEBUG: from debug_toolbar.toolbar import debug_toolbar_urls from .views import IndexView, MediaAccess @@ -24,7 +24,7 @@ urlpatterns = [ path("", include("photologue.urls", namespace="photologue")), path("accounts/", include("allauth.urls")), path("i18n/", include("django.conf.urls.i18n")), - path('jsi18n/', JavaScriptCatalog.as_view(), name='javascript-catalog'), + path("jsi18n/", JavaScriptCatalog.as_view(), name="javascript-catalog"), path("admin/doc/", include("django.contrib.admindocs.urls")), path("admin/", admin.site.urls), ] diff --git a/photologue/admin.py b/photologue/admin.py index 5bd2f89..272b74c 100644 --- a/photologue/admin.py +++ b/photologue/admin.py @@ -59,4 +59,4 @@ class TagAdmin(admin.ModelAdmin): admin.site.register(Gallery, GalleryAdmin) admin.site.register(Photo, PhotoAdmin) -admin.site.register(Tag, TagAdmin) \ No newline at end of file +admin.site.register(Tag, TagAdmin) diff --git a/photologue/models.py b/photologue/models.py index 9c308bd..855eff7 100644 --- a/photologue/models.py +++ b/photologue/models.py @@ -186,15 +186,15 @@ class Gallery(models.Model): def sample(self, public=True): """Return a sample of photos, ordered at random.""" count = 1 - nb = self.photo_count(public) #Optimisation don't do twice the SQL requests + nb = self.photo_count(public) # Optimisation don't do twice the SQL requests if nb < count: count = nb - + if public: photo_set = self.photos.filter(is_public=True) else: photo_set = self.photos - return photo_set.order_by("?")[:count] # Use native SQL random + return photo_set.order_by("?")[:count] # Use native SQL random def photo_count(self, public=True): """Return a count of all the photos in this gallery.""" @@ -726,14 +726,14 @@ class PhotoSizeCache: def __init__(self): self.__dict__ = self.__state - cached = caches.get("PhotoSizeCache",None) - if cached is None : + cached = caches.get("PhotoSizeCache", None) + if cached is None: if not len(self.sizes): sizes = PhotoSize.objects.all() for size in sizes: self.sizes[size.name] = size - caches.set("PhotoSizeCache",self) - else : + caches.set("PhotoSizeCache", self) + else: self = cached def reset(self): diff --git a/photologue/views.py b/photologue/views.py index 3b474b9..8fd57d3 100644 --- a/photologue/views.py +++ b/photologue/views.py @@ -23,7 +23,6 @@ from PIL import Image from django.contrib.auth import get_user_model - from .forms import UploadForm from .models import Gallery, Photo, Tag @@ -143,23 +142,22 @@ class GalleryDetailView(LoginRequiredMixin, DetailView): # Non-staff members only see public photos + prefetch all owners informations (Optimisation) if self.request.user.is_staff: - context["photos"] = self.object.photos.all().select_related('owner') + context["photos"] = self.object.photos.all().select_related("owner") else: - context["photos"] = self.object.photos.filter(is_public=True).select_related('owner') + context["photos"] = self.object.photos.filter( + is_public=True + ).select_related("owner") # List owners context["owners"] = [] - #owners_pk_distinct = context["photos"].order_by('owner__pk').values_list('owner__pk', flat=True).distinct() - #context["owners"] = User.objects.filter(pk__in=owners_pk_distinct) - - + # owners_pk_distinct = context["photos"].order_by('owner__pk').values_list('owner__pk', flat=True).distinct() + # context["owners"] = User.objects.filter(pk__in=owners_pk_distinct) + for photo in context["photos"]: if photo.owner not in context["owners"]: context["owners"].append(photo.owner) - - # Filter on owner if "owner" in self.kwargs: context["photos"] = context["photos"].filter(owner__id=self.kwargs["owner"])