Create Form using Post Method in Django With Form- Validation

2

Create Form using Post Method in Django with  Form-validation:-

Post provides better security as compare to get because it will transfer data internally using CSRF (Cross-site request forgery) it will protect an application from cross-site scripting attack from the malicious site.

We will use method="post" attribute under the form tag in HTML Form and request.POST to get data of form element in views.py.


Example  of Post Method

Create views.py using two different methods first is the load method to load the HTML page and second is the action method to implement logic.

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.POST["txtnum1"]
r=request.POST["txtnum2"]
t=request.POST["txtnum3"]
si=(float(p)*float(r)*float(t))/100
return render(request,"siapp/silogic.html",{'res':si})



Create Design using Html file under the templates directory.


<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
body
{
background-color: gray;
}
input[type='text']
{
width: 500px;
height: 35px;

}

        input[type='submit']
{
width: 400px;
height: 35px;
background-color: orange;

}
</style>
<script type="text/javascript">
  function validate()
  {
   p = document.getElementById("txtnum1").value;
   r = document.getElementById("txtnum2").value;
   t = document.getElementById("txtnum3").value;
 
   if(p.length==0)
   {
    document.getElementById("spp").innerHTML="Enter P";
    return false;
   }
   if(r.length==0)
   {
    document.getElementById("spr").innerHTML="Enter R";
    return false;
   }
   if(t.length==0)
   {
    document.getElementById("sprt").innerHTML="Enter T";
    return false;
   }
 

  }

 </script>
</head>
<body>
<form action="silogic" method="post">
{% csrf_token  %}
<input type="text" name="txtnum1" id="txtnum1" placeholder="Enter p" required="" /><span id="spp"></span>
<br><br>
<input type="text" name="txtnum2" id="txtnum2" placeholder="Enter r" required="" /><span id="spr"></span>
<br><br>
<input type="text" name="txtnum3" id="txtnum3" placeholder="Enter t" required="" /><span id="spt"></span>
<br><br>
<input type="submit" name="btnsubmit" value="Calculate" onclick="return validate()" />
</form>
{{res}}
</body>
</html>


Post a Comment

2Comments

POST Answer of Questions and ASK to Doubt

  1. Hi Sir,

    Hope is the doing well.

    How to use the multiple button on single page with different action like approve and reject and followup against the current document.

    ReplyDelete
  2. Thanks to read my article,if you want to create approved and reject option then first display record from database and show using table pattern and use hyperlink option in last column then pass value in hyperlink and write update code.


    ReplyDelete
Post a Comment