前言
基于 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