diff --git a/.gitignore b/.gitignore
index e31bafe3dfffdc83de19c5982deebdefe4be79e3..c78f1afc3e44a184bf9ee1c5494a567136bc5f96 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,5 @@
-/atdb/logs/
\ No newline at end of file
+/atdb/logs/
+**/venv/
+**/.idea/
+**/__pycache__/
+*.sql
diff --git a/atdb/requirements/base.txt b/atdb/requirements/base.txt
index ce0ff6a869d6a212739db0f22d44e6a1335b63f5..3e5d02fb54c39c3df950213191a70b5a1e1b140b 100644
--- a/atdb/requirements/base.txt
+++ b/atdb/requirements/base.txt
@@ -1,5 +1,5 @@
 astronauth==0.3.3
-Django==4.1.3
+Django==5
 django-allauth==0.57.0  # note allauth only supports Django >= 3.2
 django-bootstrap-pagination==1.7.1
 django-bootstrap3==23.6
@@ -8,7 +8,7 @@ django-extensions==3.1.0
 django-filter==2.3.0
 #django-silk==5.0.3
 django-tables2==2.3.4
-djangorestframework==3.12.2
+djangorestframework==3.14
 fontawesome-free==5.15.2
 oauthlib==3.2.2
 psycopg2-binary==2.9.3
diff --git a/atdb/taskdatabase/templates/taskdatabase/pagination.html b/atdb/taskdatabase/templates/taskdatabase/pagination.html
index b2c90efaa7eb99b53a65c5b4c5e06d87392a9d70..81f389157f4b54c127651e96f91718412ad58d9d 100644
--- a/atdb/taskdatabase/templates/taskdatabase/pagination.html
+++ b/atdb/taskdatabase/templates/taskdatabase/pagination.html
@@ -1,9 +1,11 @@
-{% if my_tasks %}
+    <div class="btn-group" role="group" aria-label="Item pagination" style="margin-bottom: 1rem">
 
-    {% if my_tasks.has_other_pages %}
-    <div class="btn-group" role="group" aria-label="Item pagination">
         {% if my_tasks.has_previous %}
-            <a href="?page={{ my_tasks.previous_page_number }}" class="btn btn-outline-primary">&laquo;</a>
+            <a href="?page=1" class="btn btn-outline-primary">First</a>
+            <a href="?page={{ my_tasks.previous_page_number }}" class="btn btn-outline-primary">Prev</a>
+        {% else %}
+            <button class="btn btn-outline-primary" disabled>First</button>
+            <button class="btn btn-outline-primary" disabled>Prev</button>
         {% endif %}
 
         {% for page_number in my_tasks.paginator.page_range %}
@@ -11,7 +13,11 @@
                 <button class="btn btn-outline-primary active">
                     <span>{{ page_number }} <span class="sr-only">(current)</span></span>
                 </button>
-            {% else %}
+            {% elif my_tasks.number < 5 and page_number < 10 or my_tasks.number > my_tasks.paginator.num_pages|add:"-5" and page_number > my_tasks.paginator.num_pages|add:"-9" %}
+                <a href="?page={{ page_number }}" class="btn btn-outline-primary">
+                    {{ page_number }}
+                </a>
+            {% elif page_number < my_tasks.number and page_number > my_tasks.number|add:"-5" or page_number > my_tasks.number and page_number < my_tasks.number|add:5 %}
                 <a href="?page={{ page_number }}" class="btn btn-outline-primary">
                     {{ page_number }}
                 </a>
@@ -19,10 +25,10 @@
         {% endfor %}
 
         {% if my_tasks.has_next %}
-            <a href="?page={{ my_tasks.next_page_number }}" class="btn btn-outline-primary">&raquo;</a>
+            <a href="?page={{ my_tasks.next_page_number }}" class="btn btn-outline-primary">Next</a>
+            <a href="?page={{ my_tasks.paginator.num_pages }}" class="btn btn-outline-primary">Last</a>
+        {% else %}
+            <button class="btn btn-outline-primary" disabled>Next</button>
+            <button class="btn btn-outline-primary" disabled>Last</button>
         {% endif %}
     </div>
-    {% endif %}
-{% else %}
-    <p>No items found.</p>
-{% endif %}
\ No newline at end of file