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 27 Python
Python 操作文件的基本方法总结
Aug 10 Python
tensorflow实现简单的卷积神经网络
May 24 Python
Python爬虫PyQuery库基本用法入门教程
Aug 04 Python
python3 requests库文件上传与下载实现详解
Aug 22 Python
Python 单例设计模式用法实例分析
Sep 23 Python
wxPython:python首选的GUI库实例分享
Oct 05 Python
详细分析Python collections工具库
Jul 16 Python
Python+pyftpdlib实现局域网文件互传
Aug 24 Python
详解python中的异常和文件读写
Jan 03 Python
Python 线程池模块之多线程操作代码
May 20 Python
python保存图片的四个常用方法
Feb 28 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产生动态的影像图
2006/10/09 PHP
php 静态化实现代码
2009/03/20 PHP
php中使用base HTTP验证的方法
2015/04/20 PHP
PHP中文竖排转换实现方法
2015/10/23 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
基于PHP的微信公众号的开发流程详解
2020/08/07 PHP
javascript网页关键字高亮代码
2008/07/30 Javascript
ExtJs grid行 右键菜单的两种方法
2010/06/19 Javascript
jQuery读取和设定KindEditor值的方法
2013/11/22 Javascript
node.js中的fs.createWriteStream方法使用说明
2014/12/17 Javascript
jQuery实现跟随鼠标运动图层效果的方法
2015/02/02 Javascript
js学习之----深入理解闭包
2016/11/21 Javascript
javascript回调函数的概念理解与用法分析
2017/05/27 Javascript
Js自定义多选框效果的实例代码
2017/07/05 Javascript
浅谈Koa服务限流方法实践
2017/10/23 Javascript
Vue+SpringBoot开发V部落博客管理平台
2017/12/27 Javascript
JS实现的将html转为pdf功能【基于浏览器端插件jsPDF】
2018/02/06 Javascript
在Bootstrap开发框架中使用dataTable直接录入表格行数据的方法
2018/10/25 Javascript
angular6根据environments配置文件更改开发所需要的环境的方法
2019/03/06 Javascript
Vue实现简单购物车功能
2020/12/13 Vue.js
python实现多线程采集的2个代码例子
2014/07/07 Python
windows下python安装小白入门教程
2018/09/18 Python
python中的列表与元组的使用
2019/08/08 Python
Django模板标签{% for %}循环,获取制定条数据实例
2020/05/14 Python
Python下划线5种含义代码实例解析
2020/07/10 Python
CSS3 中的@keyframes介绍
2014/09/02 HTML / CSS
Puritan’s Pride(普丽普莱)官方网站:美国最大最全的保健品公司之一
2016/10/23 全球购物
英国优质鞋类专家:Robinson’s Shoes
2017/12/08 全球购物
德国排名第一的主题公园门票网站:Attraction Tickets Direct
2019/09/09 全球购物
申请任职学生会干部自荐书范文
2014/02/13 职场文书
消防演习通知
2015/04/25 职场文书
百万英镑观后感
2015/06/09 职场文书
疾病证明书
2015/06/19 职场文书
python多线程方法详解
2022/01/18 Python
springboot新建项目pom.xml文件第一行报错的解决
2022/01/18 Java/Android