Program 7

Develop a Model form for student that contains his topic chosen for project, languages used and duration with a model called project.

views.py

from django.shortcuts import render
from .forms import ProjectForm
from django.http import HttpResponse

# Create your views here.

def insertproject(request):
    if request.method == 'POST':
        form = ProjectForm(request.POST)
        if form.is_valid():
            form.save()
        return HttpResponse("Record inserted successfully")
    form = ProjectForm()
    return render(request, 'insertproject.html', {'form': form})
    

urls.py

from django.urls import path
from . import views

urlpatterns = [
    path('projectreg', views.insertproject)
]

models.py

from django.db import models

# Create your models here.
# Develop a Model form for student that contains his topic chosen for project, languages used and
# duration with a model called project.
class Student(models.Model):
    usn=models.CharField(max_length=10, primary_key=True)
    name=models.CharField(max_length=30)
    sem=models.IntegerField()

class Project(models.Model):
    topic=models.CharField(max_length=30)
    languages=models.CharField(max_length=30)
    duration=models.IntegerField()
    student=models.ForeignKey(Student,on_delete=models.CASCADE)

forms.py

# Develop a Model form for student that contains his topic chosen for project, languages used and
# duration with a model called project.

from django import forms
from .models import  Project


class ProjectForm(forms.ModelForm):
    class Meta:
        model = Project
        fields = '__all__'

admin.py

from django.contrib import admin
from .models import Project, Student

# Register your models here.
class P(admin.ModelAdmin):
    list_display = ('student','duration','languages','topic')

admin.site.register(Project, P)
admin.site.register(Student)

templates/insertproject.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>project insert</title>
  </head>
  <body>
    <form method="POST" action="">
      {% csrf_token %}
      <table>
        {{ form.as_table }}
        <tr>
          <td><input type="submit" value="Insert" /></td>
        </tr>
      </table>
    </form>
  </body>
</html>