溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Django中cookie的基本使用方法示例

發(fā)布時(shí)間:2020-10-04 01:00:47 來源:腳本之家 閱讀:180 作者:零_WYF 欄目:開發(fā)技術(shù)

前言

基于 Internet的各種服務(wù)系統(tǒng)應(yīng)運(yùn)而生,建立商業(yè)站點(diǎn)或者功能比較完善的個(gè)人站點(diǎn),常常需要記錄訪問者的一些信息;論壇作為 Internet發(fā)展的產(chǎn)物之一,在 Internet 中發(fā)揮著越來越重要的作用,是用戶獲取、交流、傳遞信息的主要場所之一,論壇常常也需要記錄訪問者的一些基本信息(如身份識別號碼、密碼、用戶在 Web 站點(diǎn)購物的方式或用戶訪問該站點(diǎn)的次數(shù))。目前公認(rèn)的是,通過 Cookie 和 Session 技術(shù)來實(shí)現(xiàn)記錄訪問者的一些基本信息。

下面就來一起看看Django中cookie的基本使用,話不多說了,來一起看看詳細(xì)的介紹吧。

1.簡述

(1)設(shè)置Cookies

response.set_cookie("cookie_key","value")

(2)獲取Cookies

value = request.COOKIES["cookie_key"]

(3)刪除Cookies

response.delete_cookie("cookie_key",path="/",domain=name)

(4)檢測Cookies

if "cookie_name" in request.COOKIES :

(5)response.set_cookie() 傳遞一些可選的參數(shù) 描述

2.示例

2.1設(shè)置Cookies

login_user = models.User.objects.get(username=username, password=password) # 這里用的mongodb進(jìn)行的數(shù)據(jù)存儲
# print(login_user["username"])
# 帳號和密碼正確,cookie保存登錄狀態(tài)
# 獲取相應(yīng)對象
response = redirect(reverse("blog:index"))
# 設(shè)置cookie
response.set_cookie("blog_username", login_user["username"], 604800) #過期時(shí)間單位是s (這里設(shè)置為7天)
response.set_cookie("blog_password", login_user["password"], 604800)

2.2檢測、獲取Cookies

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:
  # 進(jìn)入未登錄狀態(tài)的主頁
  return render(request, "blog/index.html")

2.3刪除Cookies

# 注銷登錄視圖函數(shù)
def logout(request):
 response = redirect(reverse("blog:index"))
 response.delete_cookie("blog_username")
 response.delete_cookie("blog_password")
 return response

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI