diff --git a/viewer/static/imgs/forward.png b/viewer/static/imgs/forward.png new file mode 100755 index 0000000..89a0627 Binary files /dev/null and b/viewer/static/imgs/forward.png differ diff --git a/viewer/templates/gallery_view.html b/viewer/templates/gallery_view.html index 17664e9..09248dc 100644 --- a/viewer/templates/gallery_view.html +++ b/viewer/templates/gallery_view.html @@ -20,24 +20,44 @@
{% for page in pages %}{{page}}{% if not forloop.last %} {% endif %}{% endfor %}
- - - {% for row in images %} - - {% for cell in row %} - - {% endfor %} - - {% endfor %} - +
- - -
- - {{cell.path|truncatechars:15}} - -
-
+ + {% if page != 1 %} + + {% endif %} + + {% if page != num_pages %} + + {% endif %} +
+ + + + + + + {% for row in images %} + + {% for cell in row %} + + {% endfor %} + + {% endfor %} + +
+ + +
+ + {{cell.path|truncatechars:15}} + +
+
+
+ + + +
{% endif %} diff --git a/viewer/views.py b/viewer/views.py index d7a12a3..704f3b0 100644 --- a/viewer/views.py +++ b/viewer/views.py @@ -53,13 +53,14 @@ def gallery_view(request, path = None): subdirs = sorted([i for i in full_path.iterdir() if i.is_dir()]) images = sorted([i for i in full_path.iterdir() if i.is_file() and filetype.is_image(str(i))]) img_data = [] + num_pages = ceil((len(images) / CELLS_PER_ROW) / ROWS_PER_PAGE) try: - page = int(request.GET.get('page', 1)) - 1 + page = int(request.GET.get('page', 1)) except ValueError: - page = 0 + page = 1 - page_base = IMAGES_PER_PAGE * page + page_base = IMAGES_PER_PAGE * (page - 1) for image in images[page_base : page_base + IMAGES_PER_PAGE]: make_thumbnail(image) @@ -72,12 +73,18 @@ def gallery_view(request, path = None): img_data.append(img_context) + print(page) + context = { 'path': path, 'subdirs': list2rows(subdirs), 'images': list2rows(img_data), - 'pages': range(1, ceil((len(images) / CELLS_PER_ROW) / ROWS_PER_PAGE) + 1), - 'num_files': len(images) + 'pages': range(1, num_pages + 1), + 'num_files': len(images), + 'page': page, + 'prev_page': page - 1, + 'next_page': page + 1, + 'num_pages': num_pages } return render(request, 'gallery_view.html', context)