前言
基于 Internet的各种服务系统应运而生,建立商业站点或者功能比较完善的个人站点,常常需要记录访问者的一些信息;论坛作为 Internet发展的产物之一,在 Internet 中发挥着越来越重要的作用,是用户获取、交流、传递信息的主要场所之一,论坛常常也需要记录访问者的一些基本信息(如身份识别号码、密码、用户在 Web 站点购物的方式或用户访问该站点的次数)。目前公认的是,通过 Cookie 和 Session 技术来实现记录访问者的一些基本信息。
下面就来一起看看Django中cookie的基本使用,话不多说了,来一起看看详细的介绍吧。
1.简述
(1)设置Cookies
1
|
response.set_cookie( "cookie_key" , "value" )
|
(2)获取Cookies
1
|
value = request.COOKIES[ "cookie_key" ]
|
(3)删除Cookies
1
|
response.delete_cookie( "cookie_key" ,path = "/" ,domain = name)
|
(4)检测Cookies
1
|
if "cookie_name" in request.COOKIES :
|
(5)response.set_cookie()
传递一些可选的参数 描述
2.示例
2.1设置Cookies
1
2
3
4
5
6
7
8
|
login_user = models.User.objects.get(username = username, password = password) # 这里用的mongodb进行的数据存储
# print(login_user["username"])
# 帐号和密码正确,cookie保存登录状态
# 获取相应对象
response = redirect(reverse( "blog:index" ))
# 设置cookie
response.set_cookie( "blog_username" , login_user[ "username" ], 604800 ) #过期时间单位是s (这里设置为7天)
response.set_cookie( "blog_password" , login_user[ "password" ], 604800 )
|
2.2检测、获取Cookies
1
2
3
4
5
6
7
8
9
10
11
12
13
|
def index(request):
# 检测cookies是否存在
if "blog_username" in request.COOKIES:
# 获取cookies
login_username = request.COOKIES.get( "blog_username" )
login_password = request.COOKIES.get( "blog_password" )
# 获取登录用户信息
login_user = models.User.objects.get(username = login_username, password = login_password)
# 返回登录成功后页面
return render(request, "blog/index.html" , { "login_user" : login_user})
else :
# 进入未登录状态的主页
return render(request, "blog/index.html" )
|
2.3删除Cookies
1
2
3
4
5
6
|
# 注销登录视图函数
def logout(request):
response = redirect(reverse( "blog:index" ))
response.delete_cookie( "blog_username" )
response.delete_cookie( "blog_password" )
return response
|
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。
原文链接:http://www.jianshu.com/p/c8728ab807b5