Create HTML Form in Django

We can create Django Form Component using HTML Form element

<form  action=""  method="post|get" name="frm">

  input field    <input type="text" >
  password filed <input type="password">
  radio         <input type="radio" />
  checkbox      <input type="checkbox" >
  listbox       <select name="course" multiple="true"><option value="101">C</option></select>
  dropdownlist  <select name="course"><option value="101">C</option></select>
  textarea      <textarea rows="5" cols="10" ></textarea>
  label         <label></label>
  normalbutton  <input type="button" />
  submitbutton  <input type="submit"  />
  resetbutton   <input type="reset"   />
  file field    <input type="file"  name="file"   />
  number field  <input type="number" name="abc"  />
  email field   <input type="email"  name="email"  /> 


</form>


what is action attribute in form :-

it is used to enter url after submssion of form ,action will be redirected to particular web url.



<form action="hello" method="get">


</form>

when we submit button then it will be redirected to path "hello" of urls.py

if action="" means it will redirect to same url



1)  GET METHOD:-    It is used to submit the data of form elements into web server using url parameters ,GET method call HttpGet object to send data from form to web server.
all data will be shown on url hence get is not secure and we can send limited data using GET Method.

default url method is get means when we hit any web url under web browser then it will be called using GET method.


2)  POST Method:-  It is used to submit the data of form elements into web server using HttpPost object.it send data internally then data will not be shown on url paremeters hence it provide better security as compare to get method ,we can send unlimited data using Post method hence we often prefer post method to send data from client machine to server machine.

Django use csrf_token to send data using POST method


csrf_token will generate token key from browser to match from server.

CSRF  cross site request forgery



We should always create HTML form elemnts under html web page under templates directory.



Create Simple Interest program using Django Form Elements


1)  Create app in existing project



2)   create urls.py in app


3)  create method to load templates and define templates and design form of SI


4)   Create another method to write code of form elements






Views.py:-

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

def index(request):
return render(request,"siapp/index.html")
def silogic(request):
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':si})
#return HttpResponse("si result is "+str(si))



Urls.py

from django.urls import path
from . import views

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


]



Html file under templates/siapp

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
  <form action="silogic" method="post">
 {% csrf_token %}

  <input type="text" name="txtp" placeholder="Enter value for p" />
  <br><br>
    <input type="text" name="txtr" placeholder="Enter value for r" />
    <br>
    <br>
     <input type="text" name="txtt" placeholder="Enter value for t" />
     <br>
     <br>
     <input type="submit" name="btnsubmit" value="Calculate" />
  </form>
  {{key}}
</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