diff --git a/viewer/templates/image_view.html b/viewer/templates/image_view.html index 8f29469..9e5fe0f 100644 --- a/viewer/templates/image_view.html +++ b/viewer/templates/image_view.html @@ -23,12 +23,30 @@ -
-
- - - -
-
+ + + + + + +
+ {% if prev %} + + + + {% endif %} + +
+ + + +
+
+ {% if next %} + + + + {% endif %} +
diff --git a/viewer/views.py b/viewer/views.py index 704f3b0..aa32be3 100644 --- a/viewer/views.py +++ b/viewer/views.py @@ -60,9 +60,9 @@ def gallery_view(request, path = None): except ValueError: page = 1 - page_base = IMAGES_PER_PAGE * (page - 1) + page_offset = IMAGES_PER_PAGE * (page - 1) - for image in images[page_base : page_base + IMAGES_PER_PAGE]: + for image in images[page_offset : page_offset + IMAGES_PER_PAGE]: make_thumbnail(image) img_context = { @@ -90,7 +90,20 @@ def gallery_view(request, path = None): return render(request, 'gallery_view.html', context) else: - return render(request, 'image_view.html', {'image_path': Path('/imgs/').joinpath(path)}) + image = Path('/imgs/').joinpath(path) + img_dir = settings.GALLERY_ROOT.joinpath(path).parent + images = sorted([i.name for i in img_dir.iterdir() if i.is_file() and filetype.is_image(str(i))]) + index = images.index(image.name) + previous = index - 1 if index > 0 else None + following = index + 1 if index < len(images) - 1 else None + + context = { + 'image_path': image, + 'prev': images[previous] if previous is not None else None, + 'next': images[following] if following is not None else None + } + + return render(request, 'image_view.html', context) else: return HttpResponseNotFound('Not found')