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实现把xml或xsl转换为html格式
Apr 08 Python
Python使用Pycrypto库进行RSA加密的方法详解
Jun 06 Python
python使用turtle库绘制树
Jun 25 Python
Python清空文件并替换内容的实例
Oct 22 Python
python多进程下实现日志记录按时间分割
Jul 22 Python
python实现H2O中的随机森林算法介绍及其项目实战
Aug 29 Python
python3.7环境下安装Anaconda的教程图解
Sep 10 Python
Python如何使用PIL Image制作GIF图片
May 16 Python
如何基于Python爬取隐秘的角落评论
Jul 02 Python
python BeautifulSoup库的安装与使用
Dec 17 Python
Django利用AJAX技术实现博文实时搜索
May 06 Python
端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!
Jun 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
php并发对MYSQL造成压力的解决方法
2013/02/21 PHP
nginx+thinkphp下解决不支持pathinfo模式
2015/07/01 PHP
7个鲜为人知却非常实用的PHP函数
2015/07/01 PHP
Yii中特殊行为ActionFilter的使用方法示例
2020/10/18 PHP
学习jquery之一
2007/04/27 Javascript
几个有趣的Javascript Hack
2010/07/24 Javascript
JavaScript的setAttribute兼容性问题解决方法
2013/11/11 Javascript
详解JS 比较两个Json对象的值是否相等的实例
2013/11/20 Javascript
IE浏览器下PNG相关功能
2015/07/05 Javascript
jQuery简单设置文本框回车事件的方法
2016/08/01 Javascript
javascript cookie基础应用之记录用户名的方法
2016/09/20 Javascript
利用js来实现缩略语列表、文献来源链接和快捷键列表
2016/12/16 Javascript
vue实现todolist单页面应用
2017/04/11 Javascript
Vue.js实现文章评论和回复评论功能
2020/05/30 Javascript
JavaScript多态与封装实例分析
2018/07/27 Javascript
浅谈ng-zorro使用心得
2018/12/03 Javascript
Vue注册组件命名时不能用大写的原因浅析
2019/04/25 Javascript
jquery获取并修改触发事件的DOM元素示例【基于target 属性】
2019/10/10 jQuery
微信小程序学习总结(四)事件与冒泡实例分析
2020/06/04 Javascript
[41:20]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS DK
2014/05/26 DOTA
[04:54]DOTA2-DPC中国联赛1月31日Recap集锦
2021/03/11 DOTA
python二分查找算法的递归实现方法
2016/05/12 Python
Python3.X 线程中信号量的使用方法示例
2017/07/24 Python
Python 多进程和数据传递的理解
2017/10/09 Python
python飞机大战pygame游戏之敌机出场实现方法详解
2019/12/17 Python
Python 内置变量和函数的查看及说明介绍
2019/12/25 Python
django-csrf使用和禁用方式
2020/03/13 Python
速卖通欧盟:Aliexpress EU
2020/08/19 全球购物
简单而又朴实的个人求职信分享
2013/12/12 职场文书
探亲假请假条
2014/04/11 职场文书
2014年实习期工作总结
2014/11/27 职场文书
财务个人年度总结范文
2015/02/26 职场文书
2015年国庆节活动总结
2015/03/23 职场文书
2015年圣诞节活动总结
2015/03/24 职场文书
2015年小学英语教师工作总结
2015/05/12 职场文书
工作违纪的检讨书范文
2019/07/09 职场文书