网络编程
位置:首页>> 网络编程>> Python编程>> Python Django Cookie 简单用法解析

Python Django Cookie 简单用法解析

作者:Sch01aR#  发布时间:2022-09-15 15:20:03 

标签:python,django,cookie,简单,用法

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 简单用法解析

来源:https://www.cnblogs.com/sch01ar/p/11342984.html

0
投稿

猜你喜欢

  • 之前公司有套C# AES加解密方案,但是方案加密用的是Rijndael类,而非AES的四种模式(ECB、CBC、CFB、OFB,这四种用的是
  • 理解 CPU 工作原理,重要的是理解 pc 不停地自增地址,顺序执行程序指令。当遇到跳转指令时,会将 pc 重置为新地址。在顺序执行程序指令
  • 介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。 摘 要
  • 由传智播客教程整理,我们这里使用的是python2.7.x版本,就是2.7之后的版本,因为python3的改动略大,我们这里不用它。现在我们
  • 第一次写技术博客,有不尽如人意的地方,还请见谅和指正。为什么想整理这方面的类容,我觉得就像油画家要了解他的颜料和画布、雕塑家要了解他的石材一
  • 对于“XOR”大家应该都不陌生,我们在各种课程中都会遇到,它是一个数学逻辑运算符号,在计算机中表示为“XOR”,在数学中表示为“”,学名为“
  • 本文实例讲述了python实现string和dict的相互转换方法。分享给大家供大家参考,具体如下:字典(dict)转为字符串(string
  • 1.首先打开AutoIt Windows Info 工具,鼠标点击Finder Tool(按住左键不松手),鼠标将变成一个小风扇形状的图标,
  • 人工生命—群集智能—蚁群算法js版前言(摘自网上,代码是自己想出来的)对于普通大众来说,“人工生命”、“群集智能”、“仿生机器人”等等可能是
  • ASP有一个最重要的功能,就是它可以让你非常轻松地连接数据库。通常都是和一个Access或者一个SQL数据库相连。因为Access是最容易起
  • Vue设置浏览器小图标当我们使用浏览器做开发时,我们能希望浏览器标签页能显示自己的logo小图标,这个是怎样设置的呢?第一步:准备logo图
  • 目录十大经典的排序算法 一、交换排序1、冒泡排序(前后比较-交换)2、快速排序(选取一个基准值,小数在左大数在右)二、插入排序1、
  • 最近在改个程序用到了在js中设置css的float属性,以为和平常的写法一样,原来不是,只好去请教google,原来...首先大家先来看一下
  • 本文实例讲述了MySql数据库基础知识点。分享给大家供大家参考,具体如下:数据库基本操作1)创建数据库基本语法: create databa
  • 前言对自己写的冗长代码,想重构但又无思路?小编整理了介绍python代码重构优化的一些方法,助你一臂之力。编写干净的 Pythonic 代码
  • 1. 什么是数据不平衡所谓的数据不平衡(imbalanced data)是指数据集中各个类别的数量分布不均衡;不平衡数据在现实任务中十分的常
  • 以豆瓣为例,访问https://www.douban.com/contacts/list 来查看自己关注的人,要登录才能查看。如果用requ
  • 共存问题我之前一直使用的是SQL2012版本的数据库管理工具,为了与时俱进,我也尝试更新一下版本,当然SQLServer管理工具是可以多版本
  • 本文以修改用户名密码单元为案例,编写测试脚本。完成修改用户名密码模块单元测试。(ps.这个demo中登陆密码为“admin”)1. 打开浏览
  • 一、读写excel数据利用pandas可以很方便的读写excel数据1.1 读:data_in = pd.read_excel('M
手机版 网络编程 asp之家 www.aspxhome.com