From b121dc82e3df4e57a4483f4df0a1b59560da1fa6 Mon Sep 17 00:00:00 2001 From: krek0 Date: Sat, 16 May 2026 16:15:57 +0200 Subject: [PATCH 1/2] fix: return empty string from image URL methods when no file is linked --- photologue/models.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/photologue/models.py b/photologue/models.py index 4a83efd..782f9dc 100644 --- a/photologue/models.py +++ b/photologue/models.py @@ -396,6 +396,8 @@ class Photo(MediaModel): return None def _get_size_url(self, size): + if not self.image: + return "" photosize = PhotoSizeCache().sizes.get(size) if not self.size_exists(photosize): self.create_size(photosize) @@ -620,7 +622,7 @@ class Photo(MediaModel): return reverse("photologue:pl-photo", args=[self.pk]) def get_download_url(self): - return self.image.url + return self.image.url if self.image else "" @property def file_path(self): From b0027be96cd7dfed500d0a11d72d553abab17bd4 Mon Sep 17 00:00:00 2001 From: krek0 Date: Sat, 16 May 2026 16:16:26 +0200 Subject: [PATCH 2/2] fix: seek uploaded file to start before saving to avoid empty image on commit --- photologue/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/photologue/views.py b/photologue/views.py index 813854e..722b345 100644 --- a/photologue/views.py +++ b/photologue/views.py @@ -313,6 +313,7 @@ class GalleryUpload(PermissionRequiredMixin, FormView): obj.save() obj.galleries.set([gallery]) def _save(o=obj, fp=file_path, f=file_obj, ff=file_field, ps=post_save): + f.seek(0) getattr(o, ff).save(fp, f) if ps: ps(o)