django web Cookie 和 Sessions 應用
###############################################################
#一、存取Cookies
# 1、設定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" is request.COOKIES :
# 5、response.set_cookie() 傳遞一些可選的引數 描述
# 引數 預設值 描述
# max_age None cookies的持續有效時間(以秒計),如果設定為 None cookies 在瀏覽器關閉的時候就失效了。
# expires None cookies的過期時間,格式: "Wdy, DD-Mth-YY HH:MM:SS GMT" 如果設定這個引數,
# 它將覆蓋 max_age 引數。
# path "/" cookie生效的路徑字首,瀏覽器只會把cookie回傳給帶有該路徑的頁面,這樣你可以避免將
# cookie傳給站點中的其他的應用。
# 當你的應用不處於站點頂層的時候,這個引數會非常有用。
# domain None cookie生效的站點。你可用這個引數來構造一個跨站cookie。如, domain=".example.com"
# 所構造的cookie對下面這些站點都是可讀的:
# an.other.sub.domain.example.com 。
# 如果該引數設定為 None ,cookie只能由設定它的站點讀取。
# secure False 如果設定為 True ,瀏覽器將通過HTTPS來回傳cookie。
#二、Cookies規則
# 1、Cookies是以字典方式儲存,(Key—>Value的鍵值對方式儲存),訪問是隻要訪問Session的鍵就可以得到鍵對應的Value
# 如果:value = response.set_cookie("cookie_key","value")
# 2、儲存到客戶端
# 優點:
# 資料存在在客戶端,減輕伺服器端的壓力,提高網站的效能。
# 缺點:
# 1、安全性不高:在客戶端機很容易被檢視或破解使用者回話資訊
##################################################################
from django.template import Context
from django.http import HttpResponse
from django.http import HttpResponseRedirect
import datetime
def set_user(request,hour=0,name="admin"):
dt = datetime.datetime.now() + datetime.timedelta(hours = int(hour))
html ="設定使用者%s為登入回話,過去時間:%s" % (name,str(dt))
response = HttpResponse(html)
response.set_cookie("username",name,expires=dt)
return response
def show_user(request):
html = ""
if "username" in request.COOKIES :
name = request.COOKIES["username"]
if name == "admin":
html = "使用者%s 的Cookies 沒有超時" % name
if name == "loker" :
html = "使用者%s 的Cookies 沒有超時" % name
else:
dt = datetime.datetime.now() + datetime.timedelta(hours = int(1))
name ="loker"
html ="使用者的Cookies 已經超時\n設定使用者%s為登入回話,過去時間:%s" % (name,str(dt))
response = HttpResponse(html)
response.set_cookie("username",name,expires=dt)
return response
response = HttpResponse(html)
#######################################################################################
# 一、開始Sessions功能: --正常情況下,你無需任何設定就可以使用session功能。如果你刪除或修改過請檢測一下配置
# 1、編輯settings.py中 MIDDLEWARE_CLASSES 配置, 確保 'django.contrib.sessions.middleware.SessionMiddleware'存在,如果沒有則新增。
# 2、編輯settings.py中INSTALLED_APPS 配置,確保'django.contrib.sessions' (如果你是剛開啟這個應用,別忘了執行 manage.py syncdb )
#
#二、怎麼使用:
# 1、設定Sessions值
# request.session['session_name'] ="admin"
# 2、獲取Sessions值
# session_name = request.session["session_name"]
# 3、刪除Sessions值
# del request.session["session_name"]
# 4、檢測是否操作session值
# if "session_name" is request.session :
#三、sessions規則:
# 1、session是以字典方式儲存,(Key—>Value的鍵值對方式儲存),訪問是隻要訪問Session的鍵就可以得到鍵對應的Value
# 如果:value = request.session["key_name"]
# 2、Session字典中以下劃線開頭的key值是Django內部保留key值。框架只會用很少的幾個下劃線開頭的session變數,
# 除非你知道他們的具體含義,而且願意跟上Django的變化,否則,最好不要用這些下劃線開頭的變數,它們會讓D
# jango攪亂你的應用。
# 3、不要用一個新物件來替換掉 request.session ,也不要存取其屬性、
# 4、Session儲存在伺服器端,
# 優點:資料儲存相對比較安全,資料交換方便。
# 缺點:如果儲存資料多,訪問量大時,比較消耗伺服器端資源,導致網站整體效能下降。
########################################################################################
from django.template import Context
from django.http import HttpResponse
#設定Sessions值def set_session(request,name=""):
# if "username" in request.session : # del request.session['user_name'] request.session['user_name'] =name
return HttpResponse("Set a session key:%s value:%s"% ("username",name))
def del_session(request):
if "user_name" in request.session :
del request.session['user_name']
return HttpResponse("Clear an item from the session")
#檢視Sessions值def show_session(request):
html = ""
if "user_name" in request.session :
name = request.session["user_name"]
if name == "admin" :
html = "Django site administration | Get a session value:%s" % (str(name))
elif name=="lhj588":
html = "Django site |Get a session value:%s" % (str(name))
elif not name:
html = "Django site |Get a session value is null"
return HttpResponse(html)
else:
return HttpResponse("Session is null")
#set_session(request,"loker")
######################################################
# urls.py 配置
#######################################################
from django.conf.urls.defaults import *
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
(r'^cookies/showuser/$','cook.views.show_user'),
(r'^cookies/setuser/$','cook.views.set_user'),
(r'^session/setuser/(.*)/','cook.views.set_session'),
(r'^session/showuser/$','cook.views.show_session'),
(r'^session/del/$','cook.views.del_session'),
)
##############################################################
#測試
#############################################################
1、測試Cookies
2、測試Sessions
相關推薦
django web Cookie 和 Sessions 應用
############################################################### #一、存取Cookies # 1、設定Cookies # response.set_cookie("cookie_key",
Django基礎學習之Cookie 和 Sessions 應用
ima ges disco ttr 實現 保存 urn 傳遞 nwr 在Django裏面,使用Cookie和Session看起來好像是一樣的,使用的方式都是request.COOKIES[XXX]和request.session[XXX],其中XXX是您想要取得的東西的ke
Django之cookie和session
name resp wrap sign ide 服務端 rgs err response 一、cookie 保存在客戶端瀏覽器上的鍵值對 1.獲取cookie 1 request.COOKIES[‘key‘] 2 request.get_signed_cookie(key
Django中Cookie 和 Session
登錄 been close rip response 獲取cookie default rect dex Django中操作Cookie Cookie 就是保存在瀏覽器端的鍵值對 1. 服務端可以在瀏覽器上設置COOKIE 保存在瀏覽器上的 2. 每次
[py][mx]django的cookie和session操作
即使 turn 瀏覽器 會話 ext 問題 控制 put 實現 這玩意可以實現7天免登錄等功能. session和cookie機制原理和交互過程 交互過程 ① 客戶端訪問,無服務端寫入的Cookie ② 服務端的Cookie寫入瀏覽器 ③ 瀏覽器解析Cookie,保存至瀏覽
Django中Cookie和Session的基本配置以及設置
Cookie Session Django中Cookie和Sessi Cookie1、獲取Cookie:request.COOKIES['key'] request.get_signed_cookie(key, default=RAISE_ERROR, salt=''
Django之cookie 和 session
info png end sig expire value 服務 django style 一、 1、cookie的由來!!! 由於HTTP協議是無狀態的,既每一次的請求都是獨立的,他不會因為你之前來過,就記住你,所以每次瀏覽器去訪問服務器的時候,都是一個全新的
django的cookie和session以及內建訊號、快取
cookie和session cookie和session的作用: cookie和session都記錄了客戶端的某種狀態,用來跟蹤使用者訪問網站的整個回話。兩者最大的區別是cookie的資訊是存放在瀏覽器客戶端的,而session是存放在伺服器端的 cookie的基本操作 co
django中cookie和session詳解
cookie和session HTTP被設計為”無
Django的Cookie和Session
在Django裡面,使用Cookie和Session看起來好像是一樣的,使用的方式都是request.COOKIES[XXX]和request.session[XXX],其中XXX是您想要取得的東西的key,但是這兩者的原理和實現方式確是非常的不同。 首先介紹Cookie,只要是HTTP協議,就
servlet-cookie和session應用示例:模擬購物車
思路分析: 1. 根據需求抽象出業務物件 User{ usrename; password; } ShoppingCarItem{ product; num; } ShoppingCar{ List<ShoppingCarItem> } 2. 寫Servlet處
web開發——4.一個完整的web專案和子應用程式的建立以及資料模型操作的兩種方法
一、建立一個完整的web專案 1.在pycharm命令列中輸入命令: django-admin startproject myweb,即可建立一個新的web專案 新的web專案包
python web框架【補充】cookie和session(Django)
oct 語言 key 隱私 auth 自己 session失效 單單 sdf 一、cookie和session的介紹 cookie不屬於http協議範圍,由於http協議無法保持狀態,但實際情況,我們卻又需要“保持狀態”,因此cookie就是在這樣一個場景下誕生。 coo
Python之路66-Django中的Cookie和Session
python目錄一、Cookie二、Session一、Cookie1.獲取Cookie request.COOKIES["key"] request.get_signed_cookie(key, default=RAISE_ERROR, s, max_age=None) # 參數 # default:默認
關於Django Web應用架構設計開發的幾個問題
依賴 實際應用 解決辦法 會有 簡單的 upd 嵌套 有用 缺點 1、關於分層,做過傳統JEE應用的同學肯定知道JEE應用會分很多個設計層。根據傳統Web應用架構設計一般從上到下分這麽幾個層(太懶了,不畫圖了):Web前端層、Web後端交互層、業務層、基礎數據設施層,Web
關於django用戶登錄認證中的cookie和session
技術 ima username 就會 關於 logs 之前 cookie req 最近弄django的時候在用戶登錄這一塊遇到了困難,網上的資料也都不完整或者存在缺陷。 寫這篇文章的主要目的是對一些剛學django的新手朋友提供一些幫助。前提是你對django中的sessi
Cookie和Session,訪問Web項目上的資源文件
容量 bmi red 顯示 ssi 物理 spa 管理 正整數 WEB項目總路徑問題總結: 背景:項目中的資源文件我們如何訪問:(路徑怎麽寫) 例子:webRoot目錄下有一個目標資源: target.html,如何訪問 思考: 目標
《移動Web前端高效開發實戰》筆記2——使用Gulp構建一個ECMAScript 6和Sass應用
腳本 x文件 node.js 磁盤 clas res 運行 brush 開發 8.3.1 安裝和配置 運行Gulp需要Node.js環境,請參看第二章內容搭建Node.js環境。使用NPM全局安裝Gulp,命令如下: npm install gulp-cli –g 然
Django中的cookie和session
datatime cnblogs 字典 ati 時間 jquery exp close make cookies 客戶端瀏覽器上的一個文件 {‘user‘:‘xiaoyanzi‘} 獲取cookie: request.COOKIES.get(‘usernam
django之cookie、session和ajax
length clean 投票 console 默認值 設置 什麽 save pre 1 Cookie cookie是什麽? 保存在客戶端瀏覽器上的鍵值對 {k:v} cookie依附在請求頭或響應頭中出現 發