{% extends 'base.html' %} {% load static %} {% block title %}Students - Rapha-Bethel BNPS{% endblock %} {% block extra_css %} {% endblock %} {% block content %}

Student Management

Manage all student records in one place

{{ total_students }}
Total Students
{{ active_students }}
Active
{{ total_classes }}
Classes with Students
{{ unassigned_count }}
No Class Assigned {% if unassigned_count %} View → {% endif %}
{# Preserve sort when filter changes #} {% if request.GET.sort %}{% endif %}
{% if filtered_count != total_students %} {{ filtered_count }} result{{ filtered_count|pluralize }} found (of {{ total_students }} total) {% if request.GET.class == 'none' %} No class filter active {% endif %} {% else %} {{ total_students }} student{{ total_students|pluralize }} total {% endif %}  ·  Page {{ page_obj.number }} of {{ page_obj.paginator.num_pages }}
{% for student in students %}
{{ student.first_name|first|upper }}{{ student.last_name|first|upper }}
{{ student.first_name }} {{ student.last_name }}
{{ student.student_id }}
{% if student.current_class %} {{ student.current_class.name }} {% else %} No class {% endif %}
{{ student.date_of_birth|date:"d M Y"|default:"—" }} {% if student.get_age %}({{ student.get_age }} yrs){% endif %}
{{ student.get_gender_display|default:"—" }}
{{ student.admission_date|date:"d M Y"|default:"—" }}
{{ student.get_status_display|default:"Active" }}
{% empty %}
No students found

Try adjusting your filters

{% if request.GET.class == 'none' %}

All students have a class assigned!

{% endif %} Clear filters
{% endfor %}
{% if is_paginated %}
Showing {{ page_obj.start_index }}–{{ page_obj.end_index }} of {{ filtered_count }}
{% if page_obj.has_previous %} « ‹ Prev {% else %} « ‹ Prev {% endif %} {% for num in page_obj.paginator.page_range %} {% if num == 1 or num == page_obj.paginator.num_pages %} {% if num == page_obj.number %} {{ num }} {% else %} {{ num }} {% endif %} {% elif num >= page_obj.number|add:'-2' and num <= page_obj.number|add:'2' %} {% if num == page_obj.number %} {{ num }} {% else %} {{ num }} {% endif %} {% elif num == page_obj.number|add:'-3' or num == page_obj.number|add:'3' %} {% endif %} {% endfor %} {% if page_obj.has_next %} Next › » {% else %} Next › » {% endif %}
Page {{ page_obj.number }} / {{ page_obj.paginator.num_pages }}
{% endif %}
{% endblock %} {% block extra_js %} {% endblock %}