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使用os模块的os.walk遍历文件夹示例
Jan 27 Python
Python中序列的修改、散列与切片详解
Aug 27 Python
Python编程argparse入门浅析
Feb 07 Python
python3.x上post发送json数据
Mar 04 Python
django 将model转换为字典的方法示例
Oct 16 Python
Python基于opencv实现的简单画板功能示例
Mar 04 Python
python中必要的名词解释
Nov 20 Python
基于Python词云分析政府工作报告关键词
Jun 02 Python
python处理写入数据代码讲解
Oct 22 Python
python os.listdir()乱码解决方案
Jan 31 Python
python实现进度条的多种实现
Apr 29 Python
用Python selenium实现淘宝抢单机器人
Jun 18 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
overlord人气高涨,却被菲利普频繁举报,第四季很难在国内上映
2020/05/06 日漫
php获取apk包信息的方法
2014/08/15 PHP
PHP PDOStatement::debugDumpParams讲解
2019/01/30 PHP
php自定义排序uasort函数示例【二维数组按指定键值排序】
2019/06/19 PHP
PHP使用 Imagick 扩展实现图片合成,圆角处理功能示例
2019/09/09 PHP
基于JQUERY的两个ListBox子项互相调整的实现代码
2011/05/07 Javascript
JS获取页面窗口大小的代码解读
2011/12/01 Javascript
JavaScript原生对象之Number对象的属性和方法详解
2015/03/13 Javascript
clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切
2015/10/10 Javascript
jQuery如何跳转到另一个网页 就这么简单
2016/12/28 Javascript
jQuery图片轮播功能实例代码
2017/01/29 Javascript
js实现文本上下来回滚动
2017/02/03 Javascript
如何在Angular2中使用jQuery及其插件的方法
2017/02/09 Javascript
BootStrap实现鼠标悬停下拉列表功能
2017/02/17 Javascript
JS html时钟制作代码分享
2017/03/03 Javascript
bootstrap table 多选框分页保留示例代码
2017/03/08 Javascript
Node.JS使用Sequelize操作MySQL的示例代码
2017/10/09 Javascript
vue用递归组件写树形控件的实例代码
2018/07/19 Javascript
js实现随机8位验证码
2020/07/24 Javascript
这15个Vue指令,让你的项目开发爽到爆
2019/10/11 Javascript
vue中动态select的使用方法示例
2019/10/28 Javascript
Vue组件模板及组件互相引用代码实例
2020/03/11 Javascript
[37:22]DOTA2上海特级锦标赛D组资格赛#2 Liquid VS VP第一局
2016/02/28 DOTA
[39:18]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第二场 12.17
2020/12/19 DOTA
深入理解Python中命名空间的查找规则LEGB
2015/08/06 Python
python reduce 函数使用详解
2017/12/05 Python
python3写的简单本地文件上传服务器实例
2018/06/04 Python
python实现批量解析邮件并下载附件
2018/06/19 Python
对python GUI实现完美进度条的示例详解
2018/12/13 Python
对python内置map和six.moves.map的区别详解
2018/12/19 Python
Django静态资源部署404问题解决方案
2020/05/11 Python
Sentry错误日志监控使用方法解析
2020/11/12 Python
武汉瑞得软件笔试题
2015/10/27 面试题
安全保证书格式
2015/02/28 职场文书
党员学习中国梦心得体会
2016/01/05 职场文书
2019毕业论文致谢词
2019/06/24 职场文书