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