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实现的一个简单LRU cache
Sep 26 Python
在Python中使用base64模块处理字符编码的教程
Apr 28 Python
Python如何实现守护进程的方法示例
Feb 08 Python
Python中str.join()简单用法示例
Mar 20 Python
Python2和Python3.6环境解决共存问题
Nov 09 Python
Python django框架输入汉字,数字,字符生成二维码实现详解
Sep 24 Python
django框架创建应用操作示例
Sep 26 Python
python读取ini配置的类封装代码实例
Jan 08 Python
在脚本中单独使用django的ORM模型详解
Apr 01 Python
python新手学习可变和不可变对象
Jun 11 Python
Python绘制分类图的方法
Apr 20 Python
Flask response响应的具体使用
Jul 15 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对gzip文件或者字符串解压实例参考
2008/07/25 PHP
PHP开启gzip页面压缩实例代码
2010/03/11 PHP
PHP对象转换为数组函数(递归方法)
2012/02/04 PHP
PHP5.5迭代生成器用法实例详解
2016/03/16 PHP
Yii2中cookie用法示例分析
2016/07/18 PHP
详解yii2使用多个数据库的案例
2017/06/16 PHP
代码精简的可以实现元素圆角的js函数
2007/07/21 Javascript
jqPlot jquery的页面图表绘制工具
2009/07/25 Javascript
javascript判断css3动画结束 css3动画结束的回调函数
2015/03/10 Javascript
jQuery.cookie.js使用方法及相关参数解释
2017/03/06 Javascript
JS实现含有中文字符串的友好截取功能分析
2017/03/13 Javascript
jQuery扩展_动力节点Java学院整理
2017/07/05 jQuery
Vue2几种常见开局方式详解
2017/09/09 Javascript
用 Vue.js 递归组件实现可折叠的树形菜单(demo)
2017/12/25 Javascript
解决Vue+Electron下Vuex的Dispatch没有效果问题
2019/05/20 Javascript
JS实现百度搜索框
2021/02/25 Javascript
Python使用Supervisor来管理进程的方法
2015/05/28 Python
浅谈编码,解码,乱码的问题
2016/12/30 Python
[机器视觉]使用python自动识别验证码详解
2019/05/16 Python
python分数表示方式和写法
2019/06/26 Python
html5新特性与用法大全
2018/09/13 HTML / CSS
详解FireFox下Canvas使用图像合成绘制SVG的Bug
2019/07/10 HTML / CSS
英国时尚服饰电商:Boohoo
2017/10/12 全球购物
泰海淘:泰国king Power王权免税集团旗下跨境海淘综合型电商
2020/07/26 全球购物
会计电算化专业毕业生推荐信
2013/12/24 职场文书
家具促销活动方案
2014/02/16 职场文书
毕业生个人求职自荐信
2014/02/26 职场文书
医院党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
民主生活会发言材料
2014/10/20 职场文书
大学生创业事迹材料
2014/12/30 职场文书
2015年组织委员工作总结
2015/04/23 职场文书
心灵点滴观后感
2015/06/02 职场文书
2016学习全国教书育人楷模先进事迹心得体会
2016/01/21 职场文书
怎么用Python识别手势数字
2021/06/07 Python
python缺失值的解决方法总结
2021/06/09 Python
Kubernetes控制节点的部署
2022/04/01 Servers