0% found this document useful (0 votes)
29 views3 pages

Progs

Uploaded by

sangeetha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views3 pages

Progs

Uploaded by

sangeetha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Proram 9

1. Create project StudentEnrollmentSystem


2. Create app enrollment
3. Models.py (enrollment)
4.
5. # Create your models here.
6. from django.db import models
7.
8. class Student(models.Model):
9. name = models.CharField(max_length=100)
10. email = models.EmailField(unique=True)
11.
12. def __str__(self):
13. return self.name
14.
15.class Course(models.Model):
16. name = models.CharField(max_length=100)
17. students = models.ManyToManyField(Student, through='Enrollment')
18.
19. def __str__(self):
20. return self.name
21.
22.class Enrollment(models.Model):
23. student = models.ForeignKey(Student, on_delete=models.CASCADE)
24. course = models.ForeignKey(Course, on_delete=models.CASCADE)
25. date_enrolled = models.DateField(auto_now_add=True)
26.
27. def __str__(self):
28. return f"{self.student.name} enrolled in {self.course.name}"

4. admin.py(enrollment)

from django.contrib import admin


from .models import Student, Course, 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)

from django.shortcuts import render

# Create your views here.


from django.shortcuts import render, redirect
from django.http import JsonResponse
from .models import Student, Course, 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)

<!-- registration_page.html -->

<!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>

You might also like