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的Django框架中模板碎片缓存简介
Jul 24 Python
Django Admin实现上传图片校验功能
Mar 06 Python
Python_LDA实现方法详解
Oct 25 Python
你真的了解Python的random模块吗?
Dec 12 Python
pytorch 调整某一维度数据顺序的方法
Dec 08 Python
python django 原生sql 获取数据的例子
Aug 14 Python
Python any()函数的使用方法
Oct 28 Python
Python 类的魔法属性用法实例分析
Nov 21 Python
python获取引用对象的个数方式
Dec 20 Python
用python打开摄像头并把图像传回qq邮箱(Pyinstaller打包)
May 17 Python
Python3内置函数chr和ord实现进制转换
Jun 05 Python
Python pandas读取CSV文件的注意事项(适合新手)
Jun 20 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
PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数
2012/04/09 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
2014/03/18 PHP
PHP callback函数使用方法和注意事项
2015/01/23 PHP
php实现购物车产品删除功能(2)
2020/07/23 PHP
Yii框架连表查询操作示例
2019/09/06 PHP
window.dialogArguments 使用说明
2011/04/11 Javascript
基于JQuery实现CheckBox全选全不选
2011/06/27 Javascript
js/jQuery简单实现选项卡功能
2014/01/02 Javascript
调用jQuery滑出效果时闪烁的解决方法
2014/03/27 Javascript
javascript中兼容主流浏览器的动态生成iframe方法
2014/05/05 Javascript
再谈JavaScript线程
2015/07/10 Javascript
Bootstrap 布局组件(全)
2016/07/18 Javascript
jquery实现ajax加载超时提示的方法
2016/07/23 Javascript
Vue.js每天必学之组件与组件间的通信
2016/09/08 Javascript
三种方式实现瀑布流布局
2017/02/10 Javascript
轻松实现jQuery添加删除按钮Click事件
2017/03/13 Javascript
Bootstrap Table使用整理(四)之工具栏
2017/06/09 Javascript
初学者AngularJS的环境搭建过程
2017/10/27 Javascript
浅谈ES6 模板字符串的具体使用方法
2017/11/07 Javascript
使用vue-infinite-scroll实现无限滚动效果
2018/06/22 Javascript
微信小程序之多列表的显示和隐藏功能【附源码】
2018/08/06 Javascript
了解重排与重绘
2019/05/29 Javascript
基于node+vue实现简单的WebSocket聊天功能
2020/02/01 Javascript
vue路由缓存的几种实现方式小结
2020/02/02 Javascript
一些常用的Python爬虫技巧汇总
2016/09/28 Python
python pyinstaller打包exe报错的解决方法
2019/11/02 Python
在python中创建指定大小的多维数组方式
2019/11/28 Python
pytorch 实现在预训练模型的 input上增减通道
2020/01/06 Python
python 下载m3u8视频的示例代码
2020/11/11 Python
python推导式的使用方法实例
2021/02/28 Python
HTML5开发动态音频图的实现
2020/07/02 HTML / CSS
老海军美国官网:Old Navy
2016/09/05 全球购物
技术总监岗位职责
2013/12/05 职场文书
捐款倡议书范文
2014/02/02 职场文书
2014年宣传部个人工作总结
2014/12/06 职场文书
CSS使用Flex和Grid布局实现3D骰子
2022/08/05 HTML / CSS