日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Django之session

發布時間:2025/7/14 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Django之session 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.session是個啥?

  和cookie的本質區別是:cookie是保存在客戶端的鍵值對,而session是保存在服務器端的鍵值對。

  而基于Cookie做用戶驗證時并不適合將敏感信息放在cookie中。

2.session工作原理:

  以登錄為例

  當用戶認證成功后,服務器端會生成一段隨機字符串,然后將這段字符串保存在客戶端cookie中,在服務器端以鍵值對的形式同樣保存這段隨機字符串,

  {"隨機字符串":{相關信息}} 

3.簡單實例:

views:?

1 user_info={ 2 'user1':{'pwd':'123'}, 3 'user2':{'pwd':'321'}, 4 } 5 def login(request): 6 if request.method=='GET': 7 return render(request,'login.html') 8 if request.method=='POST': 9 u=request.POST.get('user') 10 p=request.POST.get('pwd') 11 dic=user_info.get(u) 12 if dic and dic['pwd']==p: 13 request.session['username']=u 14 request.session['is_login']=True 15 return redirect('/index/') 16 else: 17 return render(request, 'login.html') 18 def index(request): 19 if request.session('islogin',None): #request.session 拿到了隨機字符串, 20 #根據字符串在拿到相關信息 21 return HttpResponse('ok') 22 else: 23 return HttpResponse('invalid')

?

?HTML:

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Login</title> 6 </head> 7 <body> 8 <div> 9 <form action="/login/" method="POST"> 10 <input name="user" type="text" placeholder="用戶名"/> 11 <input name="pwd" type="password" placeholder="密碼"/> 12 <input type="submit" value="登錄"/> 13 </form> 14 {{ error_msg }} 15 </div> 16 </body> 17 </html> View Code 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>index</title> 6 </head> 7 <body> 8 {{ username }} 9 </body> 10 </html> View Code

  在寫好配置后,還有一步關鍵步驟:

  在Terminal里:

1 python manage.py makemigrations 2 python manage.py migrate

在chorm里可以查看到:

?

?4.session的配置操作:

1 SESSION_COOKIE_NAME='sessionid' #session的cookie保存在瀏覽器上的key,即:session=隨機字符串 2 SESSION_COOKIE_PATH='/' #session的cookie保存路徑 3 SESSION_COOKIE_DOMAIN=None #session的cookie保存域名 4 SESSION_COOKIE_SECURE=False #是否Https傳輸cookie 5 SESSION_COOKIE_HTTPONLY=True #是否只支持http傳輸 6 SESSION_COOKIE_AGE=1209600 #session的cookie失效日期(默認兩周) 7 SESSION_COOKIE_AT_BROWER_CLOSE=False #關閉瀏覽器session的cookie是否失效 8 SESSION_COOKIE_SAVE_EVERY_REQUEST=False #是否每次請求都保存session,修改默認值為True之后保存

以上配置的值均為默認值。

?

  

?

 

轉載于:https://www.cnblogs.com/SunsetSunrise/p/7702190.html

總結

以上是生活随笔為你收集整理的Django之session的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。