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
<!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 Answer of Questions and ASK to Doubt