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实现多线程下载文件的代码实例
Jun 01 Python
Python内置函数Type()函数一个有趣的用法
Feb 18 Python
Python字典实现简单的三级菜单(实例讲解)
Jul 31 Python
Python编程深度学习绘图库之matplotlib
Dec 28 Python
解决nohup执行python程序log文件写入不及时的问题
Jan 14 Python
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
Oct 17 Python
Tensorflow读取并输出已保存模型的权重数值方式
Jan 04 Python
python 控制台单行刷新,多行刷新实例
Feb 19 Python
Django models文件模型变更错误解决
May 11 Python
详解用python -m http.server搭一个简易的本地局域网
Sep 24 Python
Python 实现3种回归模型(Linear Regression,Lasso,Ridge)的示例
Oct 15 Python
MoviePy常用剪辑类及Python视频剪辑自动化
Dec 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
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
2006/07/09 PHP
PHP得到某段时间区间的时间戳 php定时任务
2012/04/12 PHP
ThinkPHP在Cli模式下使用模板引擎的方法
2015/09/25 PHP
详解PHP的Yii框架中扩展的安装与使用
2016/04/01 PHP
PHP中读取文件的几个方法总结(推荐)
2016/06/03 PHP
php中get_object_vars()在数组的实例用法
2021/02/22 PHP
JQuery Tips(4) 一些关于提高JQuery性能的Tips
2009/12/19 Javascript
JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参
2011/01/06 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件
2011/12/21 Javascript
JS实现自适应高度表单文本框的方法
2015/02/25 Javascript
Javascript技术难点之apply,call与this之间的衔接
2015/12/04 Javascript
使用angularjs创建简单表格
2016/01/21 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
2016/02/05 Javascript
原生javascript移动端滑动banner效果
2017/03/10 Javascript
ionic App问题总结系列之ionic点击系统返回键退出App
2017/08/19 Javascript
vue 项目打包时样式及背景图片路径找不到的解决方式
2019/11/12 Javascript
如何利用JavaScript编写更好的条件语句详解
2020/08/10 Javascript
利用信号如何监控Django模型对象字段值的变化详解
2017/11/27 Python
Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
2018/05/04 Python
Python面向对象之多态原理与用法案例分析
2019/12/30 Python
python tkinter之顶层菜单、弹出菜单实例
2020/03/04 Python
Python中私有属性的定义方式
2020/03/05 Python
python 匿名函数与三元运算学习笔记
2020/10/23 Python
Python3使用Selenium获取session和token方法详解
2021/02/16 Python
如何查看浏览器对html5的支持情况
2020/12/15 HTML / CSS
ET Mall东森购物网:东森严选
2017/03/06 全球购物
毕业生的自我评价
2013/12/30 职场文书
四年级下册教学反思
2014/02/01 职场文书
房屋转让协议书范本
2014/04/11 职场文书
孝老爱亲模范事迹材料
2014/05/25 职场文书
相亲大会策划方案
2014/06/05 职场文书
应聘会计求职信
2014/06/11 职场文书
建筑技术负责人岗位职责
2015/04/13 职场文书
CocosCreator如何实现划过的位置显示纹理
2021/04/14 Javascript
Redis Stream类型的使用详解
2021/11/11 Redis
Python if else条件语句形式详解
2022/03/24 Python