Professional Documents
Culture Documents
Progs
Progs
Progs
4. admin.py(enrollment)
@admin.register(Student)
class StudentAdmin(admin.ModelAdmin):
list_display = ('name', 'email')
@admin.register(Course)
class CourseAdmin(admin.ModelAdmin):
list_display = ('name',)
@admin.register(Enrollment)
class EnrollmentAdmin(admin.ModelAdmin):
list_display = ('student', 'course', 'date_enrolled')
5. views.py (enrollment)
def registration_page(request):
courses = Course.objects.all()
students = Student.objects.all()
return render(request, 'registration_page.html', {'courses': courses,
'students': students})
def enroll_student(request):
if request.method == 'POST':
student_id = request.POST.get('student_id')
course_id = request.POST.get('course_id')
student = Student.objects.get(id=student_id)
course = Course.objects.get(id=course_id)
Enrollment.objects.create(student=student, course=course)
return JsonResponse({'status': 'success'})
return JsonResponse({'status': 'failure'})
6. registration_page.html (enrollment/templates)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Student Registration</title>
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></
script>
</head>
<body>
<h1>Student Registration</h1>
<form id="registration-form">
<select name="student" id="student">
{% for student in students %}
<option value="{{ student.id }}">{{ student.name }}</option>
{% endfor %}
</select>
<select name="course" id="course">
{% for course in courses %}
<option value="{{ course.id }}">{{ course.name }}</option>
{% endfor %}
</select>
<button type="submit">Enroll</button>
</form>
<div id="enrolled-students">
<!-- Enrolled students will be displayed here -->
</div>
<script>
$(document).ready(function(){
$('#registration-form').submit(function(e){
e.preventDefault();
var studentId = $('#student').val();
var courseId = $('#course').val();
$.ajax({
type: 'POST',
url: '/enroll_student/',
data: {
'student_id': studentId,
'course_id': courseId,
csrfmiddlewaretoken: '{{ csrf_token }}'
},
success: function(response){
if(response.status === 'success'){
alert('Enrollment successful');
// You can update the enrolled students list here
} else {
alert('Enrollment failed');
}
}
});
});
});
</script>
</body>
</html>