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使用urlparse分析网址中域名的方法
Apr 15 Python
浅谈python装饰器探究与参数的领取
Dec 01 Python
python 删除指定时间间隔之前的文件实例
Apr 24 Python
Python用csv写入文件_消除空余行的方法
Jul 06 Python
对python mayavi三维绘图的实现详解
Jan 08 Python
Django DRF路由与扩展功能的实现
Jun 03 Python
Keras 实现加载预训练模型并冻结网络的层
Jun 15 Python
基于python图书馆管理系统设计实例详解
Aug 05 Python
详解Pymongo常用查询方法总结
Jan 29 Python
matplotlib更改窗口图标的方法示例
Feb 03 Python
python实现计算图形面积
Feb 22 Python
jupyter notebook保存文件默认路径更改方法汇总(亲测可以)
Jun 09 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中$this和$that指针使用实例
2015/01/06 PHP
php 防止表单重复提交两种实现方法
2016/11/03 PHP
浅谈PHP中new self()和new static()的区别
2017/08/11 PHP
php支付宝APP支付功能
2020/07/29 PHP
常用的javascript function代码
2008/05/23 Javascript
javascript之可拖动的iframe效果代码
2008/08/01 Javascript
Javascript 解疑
2009/11/11 Javascript
jquery 事件冒泡的介绍以及如何阻止事件冒泡
2012/12/25 Javascript
jquery控制左右箭头滚动图片列表的实例
2013/05/20 Javascript
文本框中禁止非数字字符输入比如手机号码、邮编
2013/08/19 Javascript
js去除空格的12种实用方法
2013/11/08 Javascript
Jquery中ajax方法data参数的用法小结
2014/02/12 Javascript
jQuery获取对象简单实现方法小结
2014/10/30 Javascript
原生javascript实现自动更新的时间日期
2016/02/12 Javascript
jQuery中的ready函数与window.onload谁先执行
2016/06/21 Javascript
js 获取元素所有兄弟节点的实现方法
2016/09/06 Javascript
H5图片压缩与上传实例
2017/04/21 Javascript
20170918 前端开发周报之JS前端开发必看
2017/09/18 Javascript
本地搭建微信小程序服务器的实现方法
2017/10/27 Javascript
微信小程序实现自定义picker选择器弹窗内容
2020/05/26 Javascript
vue生成token并保存到本地存储中
2018/07/17 Javascript
vue render函数动态加载img的src路径操作
2020/10/26 Javascript
Python win32com 操作Exce的l简单方法(必看)
2017/05/25 Python
Python中摘要算法MD5,SHA1简介及应用实例代码
2018/01/09 Python
python实现傅里叶级数展开的实现
2018/07/21 Python
Win10+GPU版Pytorch1.1安装的安装步骤
2019/09/27 Python
pytorch中图像的数据格式实例
2020/02/11 Python
解决selenium+Headless Chrome实现不弹出浏览器自动化登录的问题
2021/01/09 Python
W3C公布最新的HTML5标准草案
2008/10/17 HTML / CSS
使用Html5中的cavas画一面国旗
2019/09/25 HTML / CSS
华为c/c++笔试题
2016/01/25 面试题
航空学院求职信
2014/06/11 职场文书
新党章的学习心得体会
2014/11/07 职场文书
学生个人总结范文
2015/02/15 职场文书
公司门卫岗位职责
2015/04/13 职场文书
Android Studio 计算器开发
2022/05/20 Java/Android