Python Django Cookie 简单用法解析


Posted in Python onAugust 13, 2019

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

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

Python 相关文章推荐
Python实现发送email的几种常用方法
Aug 18 Python
使用Python脚本将绝对url替换为相对url的教程
Apr 24 Python
利用Python爬取微博数据生成词云图片实例代码
Aug 31 Python
Python排序搜索基本算法之堆排序实例详解
Dec 08 Python
Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例
Jul 02 Python
python ftp 按目录结构上传下载的实现代码
Sep 12 Python
python中字符串内置函数的用法总结
Sep 13 Python
python  创建一个保留重复值的列表的补码
Oct 15 Python
在Python中定义一个常量的方法
Nov 10 Python
python 函数内部修改外部变量的方法
Dec 18 Python
实例讲解Python中浮点型的基本内容
Feb 11 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
Feb 11 Python
Django中ajax发送post请求 报403错误CSRF验证失败解决方案
Aug 13 #Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
Aug 13 #Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
Aug 13 #Python
Django rstful登陆认证并检查session是否过期代码实例
Aug 13 #Python
Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析
Aug 13 #Python
python实现对服务器脚本敏感信息的加密解密功能
Aug 13 #Python
python多线程+代理池爬取天天基金网、股票数据过程解析
Aug 13 #Python
You might like
如何去掉文章里的 html 语法
2006/10/09 PHP
php输出金字塔的2种实现方法
2014/12/16 PHP
php开发工具有哪五款
2015/11/09 PHP
抛弃 PHP 代价太高
2016/04/26 PHP
[原创]PHP字符串中插入子字符串方法总结
2016/05/06 PHP
PHP设置Cookie的HTTPONLY属性方法
2017/02/09 PHP
JS 控制小数位数的实现代码
2011/08/02 Javascript
JavaScript中的闭包(Closure)详细介绍
2014/12/30 Javascript
jquery控制显示服务器生成的图片流
2015/08/04 Javascript
在页面中输出当前客户端时间javascript实例代码
2016/03/02 Javascript
DWR中各种java方法的调用
2016/05/04 Javascript
Jquery跨域获得Json的简单实例
2016/05/18 Javascript
jQuery控制div实现随滚动条滚动效果
2016/06/07 Javascript
html5 canvas 详细使用教程
2017/01/20 Javascript
全面解析vue中的数据双向绑定
2017/05/10 Javascript
Angularjs的键盘事件的绑定
2017/07/27 Javascript
Cropper.js 实现裁剪图片并上传(PC端)
2017/08/20 Javascript
jQuery封装animate.css的实例
2018/01/04 jQuery
微信小程序后端无法保持session的原因及解决办法问题
2020/03/20 Javascript
js实现移动端图片滑块验证功能
2020/09/29 Javascript
Python入门_条件控制(详解)
2017/05/16 Python
python之virtualenv的简单使用方法(必看篇)
2017/11/25 Python
python获取指定字符串中重复模式最高的字符串方法
2018/06/29 Python
Django重置migrations文件的方法步骤
2019/05/01 Python
python实现支付宝转账接口
2019/05/07 Python
python多线程实现TCP服务端
2019/09/03 Python
利用python实现.dcm格式图像转为.jpg格式
2020/01/13 Python
Python自省及反射原理实例详解
2020/07/06 Python
5分钟快速掌握Python定时任务框架的实现
2021/01/26 Python
Ibatis如何使用动态表名
2015/07/12 面试题
机关保密承诺书
2014/06/03 职场文书
音乐教师求职信
2014/06/28 职场文书
环保项目建议书
2014/08/26 职场文书
研究生个人学年总结
2015/02/14 职场文书
学生个人总结范文
2015/02/15 职场文书
vue中使用mockjs配置和使用方式
2022/04/06 Vue.js