溫馨提示×

溫馨提示×

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

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

Python Django Cookie 簡單用法解析

發布時間:2020-08-23 22:47:11 來源:腳本之家 閱讀:181 作者:Sch01aR# 欄目:開發技術

home.html:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>個人信息頁面</title>
</head>
<body>
<p>個人信息頁面</p> 
</body>
</html>

只有返回一串字符串

login.html:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>登錄頁面</title>
</head>
<body> 
<p>登錄頁面</p> 
<form action="/login/" method="post">
  {% csrf_token %}
  <p>
    賬號:
    <input type="text" name="user">
  </p>
  <p>
    密碼:
    <input type="text" name="pwd">
  </p>
  <p>
    <input type="submit" value="登錄">
  </p>
</form>
</body>
</html>

要考慮加上 csrf_token,不然會 403

Python Django Cookie 簡單用法解析

login 函數:

from django.shortcuts import render, redirect
from app01 import models
def login(request):
  if request.method == "POST":
    username = request.POST.get("user")
    password = request.POST.get("pwd")
    if username == "admin" and password == "admin":
      rep = redirect("/home/") # 得到一個響應對象
      rep.set_cookie("login", "success") # 設置 cookie
      return rep
  return render(request, "login.html")

set_cookie() 中的第一個參數為 key,第二個參數為 value

home 函數:

from django.shortcuts import render, redirect
from app01 import models 
def home(request):
  ret = request.COOKIES.get("login") # 獲取 cookie 的 value
  if ret == "success":
    # cookie 驗證成功
    return render(request, "home.html")
  else:
    return redirect("/login/")

輸入賬號、密碼:admin,cookie 驗證成功

Python Django Cookie 簡單用法解析

給 cookie 加鹽:

login 函數:

from django.shortcuts import render, redirect
from app01 import models
def login(request):
  if request.method == "POST":
    username = request.POST.get("user")
    password = request.POST.get("pwd")
    if username == "admin" and password == "admin":
      rep = redirect("/home/") # 得到一個響應對象
      # rep.set_cookie("login", "success") # 設置 cookie
      rep.set_signed_cookie("login", "success", salt="whoami") # 設置 cookie 并加鹽
      return rep
  return render(request, "login.html")

home 函數:

from django.shortcuts import render, redirect
from app01 import models
def home(request):
  # ret = request.COOKIES.get("login") # 獲取 cookie 的 value
  ret = request.get_signed_cookie("login", salt="whoami") # 獲取加鹽后 cookie 的 value
  if ret == "success":
    # cookie 驗證成功
    return render(request, "home.html")
  else:
    return redirect("/login/")

輸入賬號、密碼:admin,cookie 驗證成功

Python Django Cookie 簡單用法解析

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女