DEPT.
OF AIML, JNNCE, SHIVAMOGGA
SUBJECT: FULLSTACK DEVELOPMENT (21CS62)
LAB COMPONENT SOLUTIONS
Module-2: Django Templates and Models
Sample program:
[Link] in app1
from [Link] import loader
from [Link] import render
from [Link] import HttpResponse
def members(request):
template=loader.get_template('[Link]')
context={'myname':'SJCIT'}
return HttpResponse([Link](context,request))
[Link]
<!DOCTYPE html>
<html>
<body>
<h1>Hello {{myname}},wellcome to trainig</h1>
</body>
</html>
[Link] in proj
from [Link] import admin
from [Link] import path,include
urlpatterns = [
path('admin/', [Link]),
path('',include('[Link]')),
[Link] in app1
from [Link] import path
10 | P a g e
DEPT. OF AIML, JNNCE, SHIVAMOGGA
from . import views
urlpatterns = [
# path('admin/', [Link]),
path('members/',[Link],name='members')
[Link]
INSTALLED_APPS = [
'[Link]',
'[Link]',
'[Link]',
'[Link]',
'[Link]',
'[Link]',
'app1' ,
]
Output
2)[Link]
from [Link] import loader
from [Link] import render
from [Link] import HttpResponse
def members(request):
template=loader.get_template('[Link]')
context={'greeting' : 1,}
return HttpResponse([Link](context,request))
[Link]
from ap1 import views
urlpatterns = [
path('admin/', [Link]),
path('members/',[Link],name='members'),
]
[Link]
<!DOCTYPE html>
10 | P a g e
DEPT. OF AIML, JNNCE, SHIVAMOGGA
<html>
<body>
<p>you belong to the department</p>
{% if greeting == 1 %}
<h1>CSE</h1>
{% else %}
<h1>ISE</h1>
{% endif %}
</body>
</html>
output
3) [Link]
from [Link] import loader
from [Link] import render
from [Link] import HttpResponse
def members(request):
template=loader.get_template('[Link]')
context={'fruits':['Apple ','Banana','mango'] }
return HttpResponse([Link](context,request))
[Link]
from ap1 import views
urlpatterns = [
path('admin/', [Link]),
path('members/',[Link],name='members'),
]
[Link]
<!DOCTYPE html>
<html>
<body>
<p>FRUITS</p>
{% for x in fruits %}
<h1>{{x}}</h1>
{% endfor %}
</body>
</html>
output
10 | P a g e
DEPT. OF AIML, JNNCE, SHIVAMOGGA
Template example program:
[Link]
from datetime import date
from [Link] import HttpResponse
from [Link] import render
from [Link] import Context, Template
def template_test(request):
t=Template("""
<html>
<body>
{% if attending %}
<h1>Welcome {{ [Link]|upper }},{{
[Link]}} to FDP {{ fdp_name }}
on {{ fdpdate|date:"F j,Y"}} </h1>
{% if atd_per > 80 %}
<h2> Very Good </h2>
{% elif atd_per > 60 %}
<h2> Good </h2>
{% else %}
<h2> Not satisfactory </h2>
{% endif %}
Your phone no is {{ [Link]}}
<h1>List of Topics</h1>
<ul>
{% for topic in topics %}
10 | P a g e
DEPT. OF AIML, JNNCE, SHIVAMOGGA
<li>{{ forloop.revcounter0}}: {{ topic }}</li>
{% endfor %}
{% else %}
<h1>Thank you </h1>
{% endif %}
</body>
</html>
""")
fdp_name="Programming with Julia"
atd_per=66
participant={"name":"Chetan","pno":"9900923050","dept":"AIML"}
topics=["Models","Views","Templates","AJAX","NonHTML"]
c=Context({"fdp_name":
fdp_name,"topics":topics,"participant":participant,"attending":True,"atd_per":
atd_per,"fdpdate":date(2024,4,9)})
return HttpResponse([Link](c))
[Link]
from [Link] import admin
from [Link] import path, re_path
from [Link] import create_table_of_squares,vc,find_mode
from [Link] import template_test
urlpatterns = [
path('admin/', [Link]),
path('vc/<str:sentence>', vc),
path('find_mode/<str:listofnum>', find_mode),
path('template_test/', template_test),
Output:
10 | P a g e
DEPT. OF AIML, JNNCE, SHIVAMOGGA
Develop a Django app that displays list of subject codes and subject names of any
semester in tabular format. Even rows should have a light green background color
and subject names should be in all caps
[Link] in app2
from [Link] import HttpResponse
from [Link] import render
from [Link] import Context, Template
def list_of_subjects(request):
s1={"scode":"21CS51","sname":"cn"}
s2={"scode":"21CS52","sname":"ATc"}
s3={"scode":"21CS53","sname":"DbMS"}
s4={"scode":"21AI54","sname":"PAI"}
l=list()
l=[s1,s2,s3,s4]
return render(request,'list_of_subjects.html',{"l":l})
[Link] in app2
from [Link] import path
from . import views
urlpatterns = [
# path('admin/', [Link]),
path('LOS/',views.list_of_subjects,name='list_of_subjects')
]
[Link] in proj
from [Link] import admin
from [Link] import path,include
urlpatterns = [
path('admin/', [Link]),
path('',include('[Link]')),
path('',include('[Link]')),
Template file: list_of_subjects.html
<html>
<body>
<table border>
<tr>
10 | P a g e
DEPT. OF AIML, JNNCE, SHIVAMOGGA
<th>Subject Code</th>
<th>Subject Name</th>
</tr>
{% for subject in l %}
{% if [Link]|divisibleby:"2" %}
<tr>
<td style="background-color: lightgreen;">{{ [Link] }}</td>
<td style="background-color: lightgreen;">{{
[Link]|upper}}</td>
</tr>
{% else %}
<tr>
<td>{{ [Link] }}</td>
<td>{{ [Link]|upper }}</td>
</tr>
{% endif %}
{% endfor %}
</table>
</body>
</html>
[Link]
INSTALLED_APPS = [
'[Link]',
'[Link]',
'[Link]',
'[Link]',
'[Link]',
'[Link]',
'app1' ,
'app2' ,
]
Output:
10 | P a g e
DEPT. OF AIML, JNNCE, SHIVAMOGGA
Module-2 Laboratory Component:
1. Develop a simple Django app that displays an unordered list of fruits
and ordered list of selected students for an event
[Link] in members
from [Link] import render
from [Link] import HttpResponse
from [Link] import loader
def showlist(request):
template = loader.get_template('[Link]')
fruits=["Mango","Apple","Bananan","Jackfruits"]
student_names=["Tony","Mony","Sony","Bob"]
return
render(request,'[Link]',{"fruits":fruits,"student_names":student_names}
)
[Link] in app name members
from [Link] import path
from . import views
urlpatterns = [
path('showlist/', [Link], name='showlist'),
[Link] in project name store
from [Link] import admin
from [Link] import path , include
from [Link] import showlist
urlpatterns = [
path('', include('[Link]')),
path('admin/', [Link]),
path('showlist/', showlist),
]
Template HTML file (inside members/templates subfolder)
[Link]
<html>
<style type="text/css">
#i1 {background-color: lightgreen;color:brown;display:table}
#i2 {background-color: black;color:yellow}
</style>
<body>
10 | P a g e
DEPT. OF AIML, JNNCE, SHIVAMOGGA
<h1 id="i1">Unordered list of fruits</h1>
<ul>
{% for fruit in fruits %}
<li>{{ fruit }}</li>
{% endfor %}
</ul>
<h1 id="i2">Ordered list of Students</h1>
<ol>
{% for student in student_names %}
<li>{{ student }}</li>
{% endfor %}
</ol>
</body>
</html>
[Link]( make sure that ur app name should be added to installed app)
INSTALLED_APPS = [
'[Link]',
'[Link]',
'[Link]',
'[Link]',
'[Link]',
'[Link]',
'members'
]
Output:
10 | P a g e
DEPT. OF AIML, JNNCE, SHIVAMOGGA
2. Develop a [Link] with a suitable header (containing navigation
menu) and footer with copyright and developer information. Inherit
this [Link] and create 3 additional pages: contact us, About Us and
Home page of any website.
[Link] in app3
from [Link] import HttpResponse
from [Link] import render
from [Link] import Context, Template
def home(request):
return render(request,'[Link]')
def aboutus(request):
return render(request,'[Link]')
def contactus(request):
return render(request,'[Link]')
[Link] in app3
from [Link] import path
from . import views
urlpatterns = [
# path('admin/', [Link]),
#path('LOS/',views.list_of_subjects,name='list_of_subjects')
path('aboutus/', [Link],name='aboutus'),
path('home/', [Link],name='home'),
path('contactus/',[Link],name='contactu'),
10 | P a g e
DEPT. OF AIML, JNNCE, SHIVAMOGGA
Template files:
[Link]
<html>
<title>{% block title %} {% endblock %} </title>
<style type="text/css">
nav {background-color: lightblue;padding:10px}
</style>
<body>
<nav>
<a href="/home/">Home</a>|
<a href="/aboutus/">About Us</a>|
<a href="/contactus/">Contact Us</a>|
</nav>
<section>
{% block content %}{% endblock %}
</section>
<footer>
<hr>
© ISE, Developed by ABC, Inc.
</footer>
</body>
</html>
[Link]
{% extends '[Link]' %}
{% block title %} Home
{% endblock %}
{% block content %}
<h2>This is the home page</h2>
{% endblock %}
11 | P a g e
DEPT. OF AIML, JNNCE, SHIVAMOGGA
[Link]
{% extends '[Link]' %}
{% block title %} About Us
{% endblock %}
{% block content %}
<h2>We are DJango developers</h2>
{% endblock %}
[Link]
{% extends '[Link]' %}
{% block title %} Contact us
{% endblock %}
{% block content %}
<h2>Out phone: 8147235567 <br> Address: Ram SJCIT</h2>
{% endblock %}
[Link]
INSTALLED_APPS = [
'[Link]',
'[Link]',
'[Link]',
'[Link]',
'[Link]',
'[Link]',
'app1' ,
'app2' ,
'app3' ,
Output:
12 | P a g e
DEPT. OF AIML, JNNCE, SHIVAMOGGA
3. Develop a Django app that performs student registration to a course. It
should also display list of students registered for any selected course.
Create students and course as models with enrolment as
ManyToMany field.
course_search.html file in templates folder
<html>
<body>
<form method="POST" action="">
Courses
{% csrf_token %}
<select name="cname">
{%for course in courses %}
<option value="{{[Link]}}">{{course.course_name}}</option>
{% endfor %}
</select>
<input type="submit" value="Search">
</form>
</body>
</html>
selected_students.html
<html>
<body>
<table border>
<tr>
<th>Student Name</th>
<th>Student USN</th>
<th>Sem</th>
</tr>
{% for student in student_list %}
<tr>
<td>{{student.student_name}}</td>
<td>{{student.student_usn}}</td>
<td>{{student.student_sem}}</td>
</tr>
{% endfor %}
</table>
</body>
</html>
13 | P a g e
DEPT. OF AIML, JNNCE, SHIVAMOGGA
[Link]
<html>
<body>
<form method="post" action="">
{% csrf_token %}
Student Name
<select name="sname">
{%for student in students %}
<option value="{{[Link]}}">{{student.student_name}}</option>
{% endfor %}
</select><br>
Course Name
<select name="cname">
{%for course in courses %}
<option value="{{[Link]}}">{{course.course_name}}</option>
{% endfor %}
</select><br>
<input type="submit" value="Enroll">
</form>
</body>
</html>
[Link]
from [Link] import HttpResponse
from [Link] import render
from [Link] import Course, Meeting, ProjectReg, Student
def reg(request):
if [Link] == "POST":
sid=[Link]("sname")
cid=[Link]("cname")
student=[Link](id=sid)
course=[Link](id=cid)
res=[Link](id=cid)
if res:
return HttpResponse("<h1>Student already enrolled</h1>")
[Link](course)
return HttpResponse("<h1>Student enrolled successfully</h1>")
else:
students=[Link]()
courses=[Link]()
return render(request,"[Link]",{"students":students,
"courses":courses})
14 | P a g e
DEPT. OF AIML, JNNCE, SHIVAMOGGA
def course_search(request):
if [Link]=="POST":
cid=[Link]("cname")
s=[Link]()
student_list=list()
for student in s:
if [Link](id=cid):
student_list.append(student)
if len(student_list)==0:
return HttpResponse("<h1>No Students enrolled</h1>")
return
render(request,"selected_students.html",{"student_list":student_list})
else:
courses=[Link]()
return render(request,"course_search.html",{"courses":courses})
[Link]
from [Link] import models
from [Link] import ModelForm
# Create your models here.
class Meeting([Link]):
meeting_code=[Link](max_length=100)
meeting_dt=[Link](auto_now_add=True)
meeting_subject=[Link](max_length=100)
meeting_np=[Link]()
class Course([Link]):
course_code=[Link](max_length=40)
course_name=[Link](max_length=100)
course_credits=[Link]()
def __str__(self):
return self.course_name
class Student([Link]):
student_usn=[Link](max_length=20)
student_name=[Link](max_length=100)
student_sem=[Link]()
enrolment=[Link](Course)
def __str__(self):
return self.student_name+"("+self.student_usn+")"
15 | P a g e
DEPT. OF AIML, JNNCE, SHIVAMOGGA
[Link]
from [Link] import admin
from [Link] import path, re_path
from [Link] import reg, course_search
[Link].site_header="My Site Header"
[Link].site_title="My Site Title"
[Link].index_title="My Site Index"
urlpatterns = [
path('admin/', [Link]),
path('reg/', reg),
path('course_search/', course_search)
]
Output:
Perform migrations before running:
python [Link] makemigrations
python [Link] migrate
Database input:
Insert student and courses record in db.sqlite3 or
PhPmyadmin
16 | P a g e
DEPT. OF AIML, JNNCE, SHIVAMOGGA
Back End
17 | P a g e