Python Django Cookie 简单用法解析

时间:2021-05-22

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

login 函数:

from django.shortcuts import render, redirectfrom app01 import modelsdef 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, redirectfrom 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 验证成功

给 cookie 加盐:

login 函数:

from django.shortcuts import render, redirectfrom app01 import modelsdef 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, redirectfrom app01 import modelsdef 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 验证成功

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章