How to take input from user's in Django:-

To take input from user's we will create HTML Form Template using Html Form Element and Form Tag.

1)Create "templates" Directory Under App and under "templates" Create appname directory then create file and design form according to requirement

templates/appname/filename

for example siapp is the appname then we create templates folder then create siapp folder then create filename

2) Render Html page under view load method
def index(request):
return render(request,"appname/htmlfilename")

3)  Create Action Method in views.py

   def silogic(request):
logic
return data

4) define action method  url under urls.py  and write this url under form action.
     <form action="actionurl" method="get">

    </form>
   for example action method is silogic() then we will create path for silogic and define this path under form action

 <form action="silogic" method="get">
<input type="text" name="txtnum1" placeholder="Enter p" />
<br>
<input type="text" name="txtnum2" placeholder="Enter r" />
<br>
<input type="text" name="txtnum3" placeholder="Enter t" />
<br>
<input type="submit" name="btnsubmit" value="Calculate" />
</form>

Complete Code of Views.py

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

def index(request):     #load method
return render(request,"siapp/silogic.html")
def silogic(request):    #action method
p=request.GET["txtnum1"]
r=request.GET["txtnum2"]
t=request.GET["txtnum3"]
si=(float(p)*float(r)*float(t))/100
return HttpResponse("result is "+str(si))


Complete Code of Design using templates/appname/filename

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form action="silogic" method="get">
<input type="text" name="txtnum1" placeholder="Enter p" />
<br>
<input type="text" name="txtnum2" placeholder="Enter r" />
<br>
<input type="text" name="txtnum3" placeholder="Enter t" />
<br>
<input type="submit" name="btnsubmit" value="Calculate" />
</form>
</body>
</html>


Post a Comment

If you have any doubt in programming or join online classes then you can contact us by comment .

Previous Post Next Post