page load optimization and pagination changes

This commit is contained in:
Bryan Van Deusen
2025-08-03 11:40:32 -04:00
parent 63918363c1
commit 0dc944ef25
11 changed files with 115 additions and 84 deletions
+9 -7
View File
@@ -26,12 +26,12 @@ def index():
return render_template('index.html', background_url=background_url)
@main.route('/gallery')
@login_required
def gallery():
per_page = 35
page = request.args.get('page', 1, type=int)
per_page = request.args.get('per_page', 35, type=int)
images = ImageRecord.query.order_by(
desc(func.coalesce(ImageRecord.taken_at, ImageRecord.imported_at))
@@ -41,9 +41,9 @@ def gallery():
'gallery.html',
images=images,
has_next=images.has_next,
next_page_url=url_for('main.gallery', page=images.next_num) if images.has_next else '',
next_page_url=url_for('main.gallery', page=images.next_num, per_page=per_page) if images.has_next else '',
has_prev=images.has_prev,
prev_page_url=url_for('main.gallery', page=images.prev_num) if images.has_prev else ''
prev_page_url=url_for('main.gallery', page=images.prev_num, per_page=per_page) if images.has_prev else ''
)
@@ -54,8 +54,9 @@ def serve_image(filename):
@main.route('/artist/<artist_name>')
@login_required
def artist_gallery(artist_name):
per_page = 35
page = request.args.get('page', 1, type=int)
per_page = request.args.get('per_page', 35, type=int)
images = ImageRecord.query.filter_by(artist=artist_name).order_by(
desc(func.coalesce(ImageRecord.taken_at, ImageRecord.imported_at))
).paginate(page=page, per_page=per_page)
@@ -65,11 +66,12 @@ def artist_gallery(artist_name):
images=images,
artist=artist_name,
has_next=images.has_next,
next_page_url=url_for('main.artist_gallery', artist_name=artist_name, page=images.next_num) if images.has_next else '',
next_page_url=url_for('main.artist_gallery', artist_name=artist_name, page=images.next_num, per_page=per_page) if images.has_next else '',
has_prev=images.has_prev,
prev_page_url=url_for('main.artist_gallery', artist_name=artist_name, page=images.prev_num) if images.has_prev else ''
prev_page_url=url_for('main.artist_gallery', artist_name=artist_name, page=images.prev_num, per_page=per_page) if images.has_prev else ''
)
@main.route('/artists')
@login_required
def artist_list():