File size: 1,115 Bytes
b7f55e1 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | from django.shortcuts import render, get_object_or_404, redirect
from django.contrib.auth.decorators import login_required
from django.contrib import messages
from .models import SchoolClass
from django import forms
class ClassForm(forms.ModelForm):
class Meta:
model = SchoolClass
fields = ['name', 'grade_level', 'section', 'room_number', 'academic_year']
@login_required
def class_list(request):
classes = SchoolClass.objects.all()
return render(request, 'classes/list.html', {'classes': classes})
@login_required
def class_detail(request, pk):
school_class = get_object_or_404(SchoolClass, pk=pk)
students = school_class.students.all()
return render(request, 'classes/detail.html', {'school_class': school_class, 'students': students})
@login_required
def class_add(request):
form = ClassForm(request.POST or None)
if form.is_valid():
form.save()
messages.success(request, 'Class created!')
return redirect('class_list')
return render(request, 'classes/form.html', {'form': form, 'title': 'Add Class'}) |