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字符和字符值(ASCII或Unicode码值)转换方法
May 21 Python
基python实现多线程网页爬虫
Sep 06 Python
各个系统下的Python解释器相关安装方法
Oct 12 Python
python中文乱码不着急,先看懂字节和字符
Dec 20 Python
如何运行.ipynb文件的图文讲解
Jun 27 Python
python PyQt5/Pyside2 按钮右击菜单实例代码
Aug 17 Python
python:批量统计xml中各类目标的数量案例
Mar 10 Python
Python装饰器如何实现修复过程解析
Sep 05 Python
Python 获取异常(Exception)信息的几种方法
Dec 29 Python
Python Django搭建文件下载服务器的实现
May 10 Python
FP-growth算法发现频繁项集——发现频繁项集
Jun 24 Python
分位数回归模型quantile regeression应用详解及示例教程
Nov 02 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 验证码的实现代码
2011/07/17 PHP
php教程 插件机制在PHP中实现方案
2012/11/02 PHP
php实现用于验证所有类型的信用卡类
2015/03/24 PHP
Zend Framework教程之前端控制器Zend_Controller_Front用法详解
2016/03/07 PHP
php-msf源码详解
2017/12/25 PHP
PHP操作Redis常用技巧总结
2018/04/24 PHP
javascript实现点击单选按钮链接转向对应网址的方法
2015/08/12 Javascript
jquery限定文本框只能输入数字(整数和小数)
2016/01/08 Javascript
微信小程序 网络API 上传、下载详解
2016/11/09 Javascript
学习vue.js表单控件绑定操作
2016/12/05 Javascript
原生JS京东轮播图代码
2017/03/22 Javascript
Bootstrap Table使用整理(二)
2017/06/09 Javascript
JS 组件系列之BootstrapTable的treegrid功能
2017/06/16 Javascript
JSON字符串操作移除空串更改key/value的介绍
2019/01/05 Javascript
详解vue中在父组件点击按钮触发子组件的事件
2020/11/13 Javascript
python实现问号表达式(?)的方法
2013/11/27 Python
urllib2自定义opener详解
2014/02/07 Python
python实现学生管理系统
2018/01/11 Python
python 筛选数据集中列中value长度大于20的数据集方法
2018/06/14 Python
Python不同目录间进行模块调用的实现方法
2019/01/29 Python
Python时间差中seconds和total_seconds的区别详解
2019/12/26 Python
pytorch 使用加载训练好的模型做inference
2020/02/20 Python
jupyter 使用Pillow包显示图像时inline显示方式
2020/04/24 Python
Python学习之os模块及用法
2020/06/03 Python
Python实现扫码工具的示例代码
2020/10/09 Python
Python的轻量级ORM框架peewee使用教程
2021/02/05 Python
基于CSS3实现的几个小loading效果
2018/09/27 HTML / CSS
Monica Vinader官网:英国轻奢珠宝品牌
2020/02/05 全球购物
大学生应聘推荐信范文
2013/11/19 职场文书
职业技术学校毕业生推荐信
2013/12/03 职场文书
小区推广策划方案
2014/06/06 职场文书
会展策划与管理专业求职信
2014/06/09 职场文书
早读课迟到检讨书
2014/09/25 职场文书
python脚本框架webpy的url映射详解
2021/11/20 Python
MySQ InnoDB和MyISAM存储引擎介绍
2022/04/26 MySQL
鸿蒙3.0体验感怎么样? 鸿蒙3.0系统评测向
2022/08/14 数码科技