CheckBox Tutorials in Django

2



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>



Post a Comment

2Comments

POST Answer of Questions and ASK to Doubt

  1. assignment-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")


    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"),

    ]

    ReplyDelete
  2. 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"),

    ]
    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.

    ReplyDelete
Post a Comment