The checkbox is used to check multiple options in the Django form.
We will use the Checkbox HTML element to design CheckBox.
Syntax of Checkbox for Django Form.
<input type="checkbox" name="chk[]" value="content" />Content
<input type="checkbox" name="chk[]" value="content" />Content
here chk[] is the list that contains multiple values.
We will use request.POST.getlist() to get the element of Checkbox and Listbox.
Step to implement Checkbox on Django Form using Single Method on Views.py:-
1) Create urls.py under app:-
from django.urls import path
from. import views
urlpatterns = [
path('checkbox', views.checkbox, name='checkbox'),
]
2) Create templates/appname/checkbox.html
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form action="" method="post">
{% csrf_token %}
<input type="checkbox" name="chk[]" value="Java">Java
<br><br>
<input type="checkbox" name="chk[]" value=".NET">.NET
<br><br>
<input type="checkbox" name="chk[]" value="PHP">PHP
<br><br>
<input type="submit" name="btnsubmit" value="Click" />
</form>
{{key}}
</body>
</html>
3) write code on views.py:-
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
if request.method=="POST":
p= request.POST["txtp"]
r= request.POST["txtr"]
t= request.POST["txtt"]
si = (float(p)*float(r)*float(t))/100
return render(request,"frontdesk/index.html",{"key":si})
return render(request,"frontdesk/index.html")
def checkbox(request):
if request.method=="POST":
s = request.POST.getlist("chk[]")
data=''
for s1 in s:
data = data +s1 +" "
return render(request,"frontdesk/checkbox.html",{'key':data})
return render(request,"frontdesk/checkbox.html")
Create views.py using two different methods first for load and second for action
1) Create view.py and implement two methods:-
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return render(request,"addapp/index.html")
def addlogic(request):
some_var = request.POST.getlist('checks[]')
data=''
if(len(some_var)>0):
for data1 in some_var:
data=data+data1 +" "
return HttpResponse("checked data is "+data)
else:
return HttpResponse("not checked")
2) create an HTML page for design using templates/appname/index.html
<form method="post" action="addlogic">
{% csrf_token %}
<input type="checkbox" name="checks[]" value="C" />C
<input type="checkbox" name="checks[]" value="CPP" />CPP
<input type="checkbox" name="checks[]" value="DS" />DS
<input type="checkbox" name="checks[]" value="E" />ETC
<input type="submit" name="btnsubmit">
</form>
assignment-views.py
ReplyDeletefrom django.shortcuts import render
from django.http import HttpResponse
def index(request):
return render(request,"program/index.html")
def prime(request):
if request.method=="POST":
num = int(request.POST["txtnum"])
res=''
count=0
if num>1:
for i in range(2,num):
if num%i==0:
break
else:
count=count+1
return render(request,"program/prime.html",{'data':count,'num':num})
return render(request,"program/prime.html")
def checkstring(request):
if request.method=="POST":
s=request.POST["txtnum"]
res=''
c=0
for i in range(97,123):
for j in range(0,len(s)):
if chr(i)==s[j]:
c=c+1
if c>=2:
res=chr(i)
return render(request,"program/string.html",{'res':res,'data':c})
return render(request,"program/string.html")
urls.py
from django.urls import path
from . import views
urlpatterns = [
path('',views.index,name='index'),
path('prime',views.prime,name='prime'),
path('checkstring',views.checkstring,name="checkstring"),
]
urls.py
ReplyDeletefrom django.urls import path
from . import views
urlpatterns = [
path('',views.index,name='index'),
path('prime',views.prime,name='prime'),
path('checkstring',views.checkstring,name="checkstring"),
]
views.py
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return render(request,"program/index.html")
def prime(request):
if request.method=="POST":
num = int(request.POST["txtnum"])
res=''
count=0
if num>1:
for i in range(2,num):
if num%i==0:
break
else:
count=count+1
return render(request,"program/prime.html",{'data':count,'num':num})
return render(request,"program/prime.html")
def checkstring(request):
if request.method=="POST":
s=request.POST["txtnum"]
res=''
c=0
for i in range(97,123):
for j in range(0,len(s)):
if chr(i)==s[j]:
c=c+1
if c>=2:
res=chr(i)
return render(request,"program/string.html",{'res':res,'data':c})
return render(request,"program/string.html")
# Create your views here.