Added result limiting, and result paging

This commit is contained in:
Mike Young
2019-11-29 17:26:18 -05:00
parent 2bf6500ee5
commit 85e6705af6
5 changed files with 20 additions and 44 deletions

View File

@@ -1,27 +0,0 @@
$(document).ready(function(){
//_set = $('input#_set').attr('value');
$('input.next_page').on('click', function(){next_page(1)});
$('input.prev_page').on('click', function(){prev_page(1)});
function next_page(set){
/*
var re = new RegExp(/^.*\//);
var _root = re.exec(window.location.href);
var _path = _root[0].substring(0, _root[0].length -1)
document.location.href = 'next_page?bookset='+set;
*/
console.log("next_page clicked");
var _r = $.get('next_page', 'bookset='+set);
console.log(_r);
}
function prev_page(set){
/*
var re = new RegExp(/^.*\//);
var _root = re.exec(window.location.href);
document.location.href = _root+'prev_page?bookset='+set;
*/
console.log("prev_page clicked");
$.get('prev_page', 'bookset='+set);
}
});

View File

@@ -31,14 +31,14 @@
<div class="navbar top">
<input type="hidden" id="_set" name="_set" value="{{ Set }}" />
<div style="grid-area:left">
<input class="nav_button prev_page" type="submit" value="<< Prev Page">
<input class="nav_button prev_page" type="button" value="<< Prev Page" onclick="window.location.href = '/prev_page/{{ Set }}'">
</div>
<div style="grid-area:center">
<input class="nav_search" type="text" size="15">
<input class="nav_button" type="submit" value="Search">
</div>
<div style="grid-area:right">
<input class="nav_button next_page" type="submit" value="Next Page >>">
<input class="nav_button next_page" type="button" value="Next Page >>" onclick="window.location.href = '/next_page/{{ Set }}'">
</div>
</div>
</div>

View File

@@ -4,7 +4,7 @@ from base64 import b64decode, b64encode
from django.db import models
from django.http import JsonResponse
from django.shortcuts import HttpResponse, render
from django.shortcuts import HttpResponse, render, render_to_response
from django.utils.text import slugify
from .models import Books
@@ -15,24 +15,27 @@ def index(request):
return render(
request, "index.html", {"Books": book_set(20, _set), "Set": str(_set)}
)
# return render(request, "index.html", {"Books": Books.objects.all()})
def next_page(request):
def next_page(request, bookset):
try:
_set = int(request.GET["bookset"]) + 1
_set = int(bookset) + 1
except Exception:
_set = 1
return HttpResponse(book_set_as_dict(20, _set), mimetype="application/json")
return render(
request, "index.html", {"Books": book_set(None, _set), "Set": str(_set)}
)
def prev_page(request):
try:
_set = request.GET["bookset"] - 1
if _set < 0:
_set = 0
except Exception:
def prev_page(request, bookset):
_set = int(bookset)
if _set <= 1:
_set = 1
else:
try:
_set = int(bookset) - 1
except Exception:
_set = 1
return render(
request, "index.html", {"Books": book_set(None, _set), "Set": str(_set)}
)
@@ -59,7 +62,7 @@ def book_set_as_dict(_limit=None, _set=1):
"title": book.title,
"author": book.author,
"categories": book.categories,
"cover": b64decode(book.cover),
"cover": book.cover,
"pages": book.pages,
"progress": book.progress,
"file_name": book.file_name,