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>
Hi Sir,
ReplyDeleteHope 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.
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