How to create form using POST Method

0



POST is the most secure and reliable method to send data from client machines to server machines hence we should always use the POST method to create form elements.

Django provides the CSRF option to send data using the POST method.

CSRF means Cross-site request forgery. it will protect invalid requests under the webserver to check the security token.

If the security token is valid then the server will process requests otherwise deny the request.


Now we are creating a calculation of simple interest using the POST method.


Step1st:-  Create an app if not exist, create urls.py to define method if not created.

urls.py

from django.urls import path
from . import views

urlpatterns=[
  path('',views.index,name='index'),
  path('home',views.index,name='index')
 
]

Step2nd:-  

Create templates/appname/filename to design template

create index.html

<!DOCTYPE html>
<html>
<head>
<title></title>
<link href="/static/style.css"  type="text/css" rel="stylesheet" />
</head>
<body>
<header>

<center><h1>SI FORM </h1></center>
</header>
<section>
<div style="padding-top:50px;padding-left: 200px; ">
  <form action="home" method="post">
   {% csrf_token  %}
    <input type="number" name="txtp" placeholder="Enter value for p" required="" />
    <br><br>
    <input type="number" name="txtr" placeholder="Enter value for r" required="" />
    <br><br>
    <input type="number" name="txtt" placeholder="Enter value for t" required="" />
    <br><br>
    <input type="submit" name="btnsubmit" value="Calculate" />
  </form>
   <h1>Result of SI IS</h1>
    Amount is : {{p1}} <br>  Rate is : {{r1}}  <br> Time is : {{t1}} <br>
  {{res}}
</div>
  </section>
  <footer></footer>
</body>
</html>


3) Code of views.py


from django.shortcuts import render

def index(request):
if request.method=='POST' and request.POST['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",{'res':si,'p1':p,'r1':r,'t1':t})
return render(request,"siapp/index.html")




                                 

Post a Comment

0Comments

POST Answer of Questions and ASK to Doubt

Post a Comment (0)