Cookie Tutorial in Django

0



It is called the client-side state management option, It is used to store application data by client machine under Web browser cookie folder, By default Session object also stores data under cookies.

response =HttpResponse("title")
response.set_cookie('key', value)



Get Cookie Data

var = request.COOKIES['key']


def setcookie(request):
    response = HttpResponse("Cookie Set")
    response.set_cookie('ckey', 'hello')
    return response
def getcookie(request):
    a  = request.COOKIES['ckey']
    return HttpResponse("value is "+  a);


the response should be returned by the cookie



Cookie example under Login form:-

1)  Create two url under urls.py

   login

  about



2)  Create Login code:-


def login(request):
if request.method=="POST":
uname = request.POST["txtname"]
upass = request.POST["txtpass"]
s = Register.objects.filter(name=uname,password=upass)
if s.count()==1:
request.session['uid']=uname
res= HttpResponse(status=302)
res.set_cookie('ckey3',uname)
res['Location'] = 'about'
return res;
#return redirect('about')
else:
return render(request,"guestapp/login.html",{"error":"Invalid userid and password"})
return render(request,"guestapp/login.html")



login.html file:-

{% extends 'guestapp/masterlayout.html' %}
{% block headercontent %}
<h3>SI Program</h3>

 {% endblock %}
{% block content %}
<h1>Login Form</h1>
<form action="" method="post" style="color:black;margin-left: 150px;">
{% csrf_token %}

<p>Enter username</p>
<p><input type="text" name="txtname" placeholder="Enter name" /></p>
<p>Enter password</p>
<p><input type="password" name="txtpass" placeholder="Enter password" /></p>

<br><br>
<input type="checkbox" name="chk" value="">Remember me
<br><br>
<p><input type="submit" name="btnsubmit" value="Login" /></p>

</form>


<p style="color:red;">
<br><br>
{{error}}
</p>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
<script src="//geodata.solutions/includes/statecity.js"></script>
{% endblock %}


3)  Crate about code:-


def about(request):
if(request.session.has_key('uid')):
  data = request.session['uid']
  v = request.COOKIES['ckey3'] 
  s = Register.objects.filter(name=data)
  return render(request,"guestapp/about.html",{'data':s,'data1':v})
else:
  return redirect("login")



about.html file:-

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<a href="logout">logout</a>
<h1>Welcome in {{data1}} </h1>
<h1>Registration LIST of Students </h1>
<table border="1">
<tr><th>Name</th><th>Password</th><th>Gender</th><th>JobType</th><th>State</th><th>City</th><th>Technology</th></tr>
{% for d in data %}
<tr><td>{{d.name}}</td>
<td>{{d.password}}</td>
<td> {{d.gender}}</td>
<td> {{d.jobtype}}</td>
<td> {{d.state}}</td>
<td> {{d.city}}</td>
<td> {{d.tech}}</td>
        <td><a href="findrecord?q={{d.id}}">EDIT</a></td>
        <td><a href="findrecord1?q={{d.id}}">Delete</a></td>

</tr>
        <br>

   {% endfor %}

</body>
</html>


Another Example of Cookies of remember me:-

This example implements a Live example of a cookie on Login Option?


code of Views.py

@cache_control(no_cache=True, must_revalidate=True, no_store=True)
def login(request):
if request.method=="POST":
r = Reg.objects.filter(uname=request.POST["txtuser"],pwd=request.POST["txtpass"])
if r.count()>0:
  request.session["uid"]=request.POST["txtuser"]
  res = HttpResponse(status=302)
  res.set_cookie('ukey',request.POST["txtuser"])
  res.set_cookie('upass',request.POST["txtpass"])
  res['Location']='index'
  return res
else:
  return HttpResponse("Invalid Userid and password")
else:
c1=''
c2=''
if request.COOKIES.get('ukey'):
c1=request.COOKIES["ukey"]
c2=request.COOKIES["upass"]
return render(request,"dbapp/login.html",{'ucookie':c1,'upass':c2})


Code of login.html

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h1>LOGIN FORM</h1>
<form action="" method="post">
{%  csrf_token %}
<input type="text" name="txtuser" placeholder="Enter username" value="{{ucookie}}" />
<br><br>
<input type="password" name="txtpass" placeholder="Enter password" value="{{upass}}" />
<br><br>

<input type="submit" name="btnsubmit" value="Login" />
</form>

<a href="reg">NEW USER REGISTER HERE</a>
</body>
</html>


,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

Another Example of Cookies:-

def login(request):
  if request.method=="POST":
    r = Registration.objects.filter(userid=request.POST["txtuid"],password=request.POST["txtpass"])
    if r.count()>0:
      request.session["sessuid"]=request.POST["txtuid"]
      if request.POST["chk"]:
       res = HttpResponse(status=302)
       res.set_cookie('ukey',request.POST["txtuid"])
       res.set_cookie('upass',request.POST["txtpass"])
       res['Location']='job'
       return res
     
    else:
      return render(request,"guest/login.html",{"res":"invalid userid and password"})
  else:
   c1=''
   c2=''
   if request.COOKIES.get('ukey'):
     c1=request.COOKIES["ukey"]
     c2=request.COOKIES["upass"]
   return render(request,"guest/login.html",{'ucookie':c1,'upass':c2})    

def logout(request):
   res = HttpResponse(status=302)
   res.set_cookie('ukey',"")
   res.set_cookie('upass',"")
   res.delete_cookie('ukey',"/")
   res.delete_cookie('upass',"/")
   del  request.session["sessuid"]
   res['Location']='login'
   return res


Code of Login.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>New Job Seeker Register Here</h1>
    <form action="" method="post">
        {% csrf_token %}
       

         <input type="text" name="txtuid" placeholder="Enter userid" value="{{ucookie}}" required />
         <br><br>
         <input type="password" name="txtpass" placeholder="Enter password"  value="{{upass}}"  required />
         <br><br>
         <input type="checkbox" name="chk" value="Rem" {% if ucookie %} checked {% endif %} />Remember me
         <br>
         <input type="submit" name="btnsubmit" value="Login" />
       </form>
       <h3><a href="register">Jobseeker, click to Register here</a></h3>
       {{res}}
</body>
</html>

Post a Comment

0Comments

POST Answer of Questions and ASK to Doubt

Post a Comment (0)