mirror of
https://github.com/th3r00t/pyShelf.git
synced 2026-04-28 01:59:35 -04:00
Added result limiting, and result paging
This commit is contained in:
@@ -23,7 +23,7 @@ BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|||||||
SECRET_KEY = "@(9b9jslgg41u1u=mr)-2*-n2x0vef0zsy39*z@sz18&tvow18"
|
SECRET_KEY = "@(9b9jslgg41u1u=mr)-2*-n2x0vef0zsy39*z@sz18&tvow18"
|
||||||
|
|
||||||
# SECURITY WARNING: don't run with debug turned on in production!
|
# SECURITY WARNING: don't run with debug turned on in production!
|
||||||
DEBUG = False
|
DEBUG = True
|
||||||
|
|
||||||
ALLOWED_HOSTS = ["*"]
|
ALLOWED_HOSTS = ["*"]
|
||||||
|
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ urlpatterns = [
|
|||||||
path("admin/", admin.site.urls),
|
path("admin/", admin.site.urls),
|
||||||
path("", views.index, name="index"),
|
path("", views.index, name="index"),
|
||||||
path("download/<pk>", views.download, name="download"),
|
path("download/<pk>", views.download, name="download"),
|
||||||
path("prev_page", views.prev_page, name="prev_page"),
|
path("prev_page/<bookset>", views.prev_page, name="prev_page"),
|
||||||
path("next_page", views.next_page, name="next_page"),
|
path("next_page/<bookset>", views.next_page, name="next_page"),
|
||||||
]
|
]
|
||||||
if settings.DEBUG:
|
if settings.DEBUG:
|
||||||
import debug_toolbar
|
import debug_toolbar
|
||||||
|
|||||||
@@ -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);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|||||||
@@ -31,14 +31,14 @@
|
|||||||
<div class="navbar top">
|
<div class="navbar top">
|
||||||
<input type="hidden" id="_set" name="_set" value="{{ Set }}" />
|
<input type="hidden" id="_set" name="_set" value="{{ Set }}" />
|
||||||
<div style="grid-area:left">
|
<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>
|
||||||
<div style="grid-area:center">
|
<div style="grid-area:center">
|
||||||
<input class="nav_search" type="text" size="15">
|
<input class="nav_search" type="text" size="15">
|
||||||
<input class="nav_button" type="submit" value="Search">
|
<input class="nav_button" type="submit" value="Search">
|
||||||
</div>
|
</div>
|
||||||
<div style="grid-area:right">
|
<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>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ from base64 import b64decode, b64encode
|
|||||||
|
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.http import JsonResponse
|
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 django.utils.text import slugify
|
||||||
|
|
||||||
from .models import Books
|
from .models import Books
|
||||||
@@ -15,24 +15,27 @@ def index(request):
|
|||||||
return render(
|
return render(
|
||||||
request, "index.html", {"Books": book_set(20, _set), "Set": str(_set)}
|
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:
|
try:
|
||||||
_set = int(request.GET["bookset"]) + 1
|
_set = int(bookset) + 1
|
||||||
except Exception:
|
except Exception:
|
||||||
_set = 1
|
_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):
|
def prev_page(request, bookset):
|
||||||
try:
|
_set = int(bookset)
|
||||||
_set = request.GET["bookset"] - 1
|
if _set <= 1:
|
||||||
if _set < 0:
|
|
||||||
_set = 0
|
|
||||||
except Exception:
|
|
||||||
_set = 1
|
_set = 1
|
||||||
|
else:
|
||||||
|
try:
|
||||||
|
_set = int(bookset) - 1
|
||||||
|
except Exception:
|
||||||
|
_set = 1
|
||||||
return render(
|
return render(
|
||||||
request, "index.html", {"Books": book_set(None, _set), "Set": str(_set)}
|
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,
|
"title": book.title,
|
||||||
"author": book.author,
|
"author": book.author,
|
||||||
"categories": book.categories,
|
"categories": book.categories,
|
||||||
"cover": b64decode(book.cover),
|
"cover": book.cover,
|
||||||
"pages": book.pages,
|
"pages": book.pages,
|
||||||
"progress": book.progress,
|
"progress": book.progress,
|
||||||
"file_name": book.file_name,
|
"file_name": book.file_name,
|
||||||
|
|||||||
Reference in New Issue
Block a user