Develop a Model form for a student that contains the topic chosen for the project, languages used, and duration with a model called project
Program:-
models.py:-
from django.db import models
from django.forms import ModelForm
class Meeting(models.Model):
meeting_code = models.CharField(max_length=108)
meeting_dt = models.DateField(auto_now_add=True)
meeting_subject = models.CharField(max_length=100)
meeting_np = models.IntegerField()
class Course(models.Model):
course_code = models.CharField(max_length=40)
course_name = models.CharField(max_length=100)
course_credits = models.IntegerField(blank=True, null=True)
def __str__(self):
return self.course_name
class Student(models.Model):
student_usn = models.CharField(max_length=20)
student_name = models.CharField(max_length=100)
student_sem = models.IntegerField()
enrolment = models.ManyToManyField(Course)
def __str__(self):
return self.student_name + " (" + self.student_usn + ")"
class Project(models.Model):
student = models.ForeignKey(Student, on_delete=models.CASCADE)
ptopic = models.CharField(max_length=200)
planguages = models.CharField(max_length=200) # corrected field name to planguages
pduration = models.IntegerField()
class ProjectReg(ModelForm):
required_css_class = "required"
class Meta:
model = Project
fields = ['student', 'ptopic', 'planguages', 'pduration']
from django.db import models
from django.forms import ModelForm
class Meeting(models.Model):
meeting_code = models.CharField(max_length=108)
meeting_dt = models.DateField(auto_now_add=True)
meeting_subject = models.CharField(max_length=100)
meeting_np = models.IntegerField()
class Course(models.Model):
course_code = models.CharField(max_length=40)
course_name = models.CharField(max_length=100)
course_credits = models.IntegerField(blank=True, null=True)
def __str__(self):
return self.course_name
class Student(models.Model):
student_usn = models.CharField(max_length=20)
student_name = models.CharField(max_length=100)
student_sem = models.IntegerField()
enrolment = models.ManyToManyField(Course)
def __str__(self):
return self.student_name + " (" + self.student_usn + ")"
class Project(models.Model):
student = models.ForeignKey(Student, on_delete=models.CASCADE)
ptopic = models.CharField(max_length=200)
planguages = models.CharField(max_length=200) # corrected field name to planguages
pduration = models.IntegerField()
class ProjectReg(ModelForm):
required_css_class = "required"
class Meta:
model = Project
fields = ['student', 'ptopic', 'planguages', 'pduration']
from django.db import models from django.forms import ModelForm class Meeting(models.Model): meeting_code = models.CharField(max_length=108) meeting_dt = models.DateField(auto_now_add=True) meeting_subject = models.CharField(max_length=100) meeting_np = models.IntegerField() class Course(models.Model): course_code = models.CharField(max_length=40) course_name = models.CharField(max_length=100) course_credits = models.IntegerField(blank=True, null=True) def __str__(self): return self.course_name class Student(models.Model): student_usn = models.CharField(max_length=20) student_name = models.CharField(max_length=100) student_sem = models.IntegerField() enrolment = models.ManyToManyField(Course) def __str__(self): return self.student_name + " (" + self.student_usn + ")" class Project(models.Model): student = models.ForeignKey(Student, on_delete=models.CASCADE) ptopic = models.CharField(max_length=200) planguages = models.CharField(max_length=200) # corrected field name to planguages pduration = models.IntegerField() class ProjectReg(ModelForm): required_css_class = "required" class Meta: model = Project fields = ['student', 'ptopic', 'planguages', 'pduration']
views.py:-
from django.http import HttpResponse
from django.shortcuts import render
from ap3.models import Course, Meeting, ProjectReg, Student
def add_project(request):
if request.method == "POST":
form = ProjectReg(request.POST)
if form.is_valid():
form.save()
return HttpResponse("<h1>Record inserted successfully</h1>")
else:
form = ProjectReg()
return render(request, "add_project.html", {"form": form})
from django.http import HttpResponse
from django.shortcuts import render
from ap3.models import Course, Meeting, ProjectReg, Student
def add_project(request):
if request.method == "POST":
form = ProjectReg(request.POST)
if form.is_valid():
form.save()
return HttpResponse("<h1>Record inserted successfully</h1>")
else:
form = ProjectReg()
return render(request, "add_project.html", {"form": form})
from django.http import HttpResponse from django.shortcuts import render from ap3.models import Course, Meeting, ProjectReg, Student def add_project(request): if request.method == "POST": form = ProjectReg(request.POST) if form.is_valid(): form.save() return HttpResponse("<h1>Record inserted successfully</h1>") else: form = ProjectReg() return render(request, "add_project.html", {"form": form})
templates/add_project.html:-
<html>
<form method="post" action="">
{% csrf_token %}
<table>
{{ form.as_table }}
<tr>
<td>
<input type="submit" value="Submit">
</td>
</tr>
</table>
</form>
</html>
<html>
<form method="post" action="">
{% csrf_token %}
<table>
{{ form.as_table }}
<tr>
<td>
<input type="submit" value="Submit">
</td>
</tr>
</table>
</form>
</html>
<html> <form method="post" action=""> {% csrf_token %} <table> {{ form.as_table }} <tr> <td> <input type="submit" value="Submit"> </td> </tr> </table> </form> </html>
urls.py:-
from django.contrib import admin
from django.urls import path
from ap3.views import add_project
urlpatterns = [
path("admin/", admin.site.urls),
path("add_project/", add_project),
# Add other URL patterns here
]
from django.contrib import admin
from django.urls import path
from ap3.views import add_project
urlpatterns = [
path("admin/", admin.site.urls),
path("add_project/", add_project),
# Add other URL patterns here
]
from django.contrib import admin from django.urls import path from ap3.views import add_project urlpatterns = [ path("admin/", admin.site.urls), path("add_project/", add_project), # Add other URL patterns here ]
Perform remigrations before running:
python manage.py makemigrations ap3
python manage.py migrate
python manage.py makemigrations ap3
python manage.py migrate
python manage.py makemigrations ap3 python manage.py migrate