How to create single method to load template and write code?

0




 Django provides a single view method to render the template using the GET method and POST method to write code after form submission.

It is the standard approach to write Django Code.


Syntax to write load template and logic using a single file.


def Methodname(request):  

       if request.method=="POST":

                 Write Business Code

                  return render(request,"appname/filename",{'key':output})

      return render(request,"appname/filename")



Now I am explaining the example of the SI Calculation App?


Step1st:-   Create APP using   python manage.py startapp siapp

Step2nd:-   go into settings.py and enter appname

Step3rd:-  go to project urls.py and create app urls

step4th:-  create urls.py under app and define method urls

from django.urls import path

from . import views


urlpatterns=[


path('',views.index,name='index')


]


step5th:-


create view method under views.py

from django.shortcuts import render


def index(request):

if request.method=="POST":

if request.POST.get("btnsubmit"):

p=request.POST["txtp"]

r=request.POST["txtr"]

t=request.POST["txtt"]

si=(float(p)*float(r)*float(t))/100

return render(request,"siapp/index.html",{'key':'result is '+str(si),'p':p,'r':r,'t':t})

else:

return render(request,"siapp/index.html",{'key':'','p':'','r':'','t':''})  

return render(request,"siapp/index.html")



step6:-

create HTML file under the templates directory

<!DOCTYPE html>

<html>

<head>

<title></title>

</head>

<body>

<form action="" method="post">

{% csrf_token %}


<br>

<input type="text" name="txtp" placeholder="Enter Principal" value="{{p}}" />

<br><br>

<input type="text" name="txtr" placeholder="Enter Rate" value="{{r}}" />

<br><br>

<input type="text" name="txtt" placeholder="Enter Time" value="{{t}}" />

<br><br>

<input type="submit" name="btnsubmit" value="Calculate" />

<input type="submit" name="btnclear" value="Clean" />

</form>


{{key}}


</body>

</html>






Post a Comment

0Comments

POST Answer of Questions and ASK to Doubt

Post a Comment (0)