shcool / grades /views.py
CORVO-AI's picture
Upload 111 files
b7f55e1 verified
Raw
History Blame Contribute Delete
1.07 kB
from django.shortcuts import render, redirect, get_object_or_404
from django.contrib.auth.decorators import login_required
from django.contrib import messages
from .models import Grade
from .forms import GradeForm
from students.models import Student
@login_required
def grade_list(request):
grades = Grade.objects.select_related('student', 'subject').order_by('-created_at')[:50]
return render(request, 'grades/list.html', {'grades': grades})
@login_required
def grade_add(request):
form = GradeForm(request.POST or None)
if form.is_valid():
form.save()
messages.success(request, 'Grade recorded!')
return redirect('grade_list')
return render(request, 'grades/form.html', {'form': form, 'title': 'Add Grade'})
@login_required
def student_grades(request, student_id):
student = get_object_or_404(Student, pk=student_id)
grades = Grade.objects.filter(student=student).select_related('subject')
return render(request, 'grades/student_grades.html', {'student': student, 'grades': grades})