Django项目开发中cookies和session的常用操作分析


Posted in Python onJuly 03, 2018

本文实例讲述了Django项目开发中cookies和session的常用操作。分享给大家供大家参考,具体如下:

COOKIES操作

检查cookies是否存在:

request.COOKIES.has_key('<cookie_name>')

获取cookies:

request.COOKIES.get('visits', '1')
if 'last_visit' in request.COOKIES:
 request.COOKIES['last_visit']

设置cookies:

response.set_cookie('<cookie_name>', value)

SESSION操作

获取session:

fav_color = request.session.get('fav_color', 'red')
fav_color = request.session['fav_color']

设置session:

request.session['visits'] = visits

删除session:

del request.session['fav_color']

如果给出的key 在会话中不存在,将抛出 KeyError。

判断包含session:

'fav_color' in request.session

清除session数据库

python manage.py clearsessions

附:Django基于自定义cookies 的登录,注册,退出功能示例:

#注册
def regist(req):
  if req.method == 'POST':
    uf = UserForm(req.POST)
    if uf.is_valid():
      #获得表单数据
      username = uf.cleaned_data['username']
      password = uf.cleaned_data['password']
      #添加到数据库
      User.objects.create(username= username,password=password)
      return HttpResponse('regist success!!')
  else:
    uf = UserForm()
  return render_to_response('regist.html',{'uf':uf}, context_instance=RequestContext(req))
#登陆
def login(req):
  if req.method == 'POST':
    uf = UserForm(req.POST)
    if uf.is_valid():
      #获取表单用户密码
      username = uf.cleaned_data['username']
      password = uf.cleaned_data['password']
      #获取的表单数据与数据库进行比较
      user = User.objects.filter(username__exact = username,password__exact = password)
      if user:
        #比较成功,跳转index
        response = HttpResponseRedirect('/online/index/')
        #将username写入浏览器cookie,失效时间为3600
        response.set_cookie('username',username,3600)
        return response
      else:
        #比较失败,还在login
        return HttpResponseRedirect('/online/login/')
  else:
    uf = UserForm()
  return render_to_response('login.html',{'uf':uf},context_instance=RequestContext(req))
#登陆成功
def index(req):
  username = req.COOKIES.get('username','')
  return render_to_response('index.html' ,{'username':username})
#退出
def logout(req):
  response = HttpResponse('logout !!')
  #清理cookie里保存username
  response.delete_cookie('username')
  return response

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

Python 相关文章推荐
常用python数据类型转换函数总结
Mar 11 Python
Python发送以整个文件夹的内容为附件的邮件的教程
May 06 Python
Python Json模块中dumps、loads、dump、load函数介绍
May 15 Python
python的xpath获取div标签内html内容,实现innerhtml功能的方法
Jan 02 Python
对python周期性定时器的示例详解
Feb 19 Python
Python中的正则表达式与JSON数据交换格式
Jul 03 Python
Python 转换RGB颜色值的示例代码
Oct 13 Python
python中的TCP(传输控制协议)用法实例分析
Nov 15 Python
OpenCV中VideoCapture类的使用详解
Feb 14 Python
教你如何使用Python Tkinter库制作记事本
Jun 10 Python
Python中文纠错的简单实现
Jul 07 Python
Python实现抖音热搜定时爬取功能
Mar 16 Python
Python嵌套列表转一维的方法(压平嵌套列表)
Jul 03 #Python
Python使用matplotlib实现基础绘图功能示例
Jul 03 #Python
Pandas 同元素多列去重的实例
Jul 03 #Python
Python中Numpy包的安装与使用方法简明教程
Jul 03 #Python
Python单元测试简单示例
Jul 03 #Python
Python3使用pandas模块读写excel操作示例
Jul 03 #Python
Python+pandas计算数据相关系数的实例
Jul 03 #Python
You might like
php 中英文语言转换类代码
2011/08/11 PHP
PHP 中检查或过滤IP地址的实现代码
2011/11/27 PHP
php设置编码格式的方法
2013/03/05 PHP
PHP 双链表(SplDoublyLinkedList)简介和使用实例
2015/05/12 PHP
深入探究PHP的多进程编程方法
2015/08/18 PHP
Discuz!X中SESSION机制实例详解
2015/09/23 PHP
php文件上传类完整实例
2016/05/14 PHP
Bootstrap+PHP实现多图上传功能实例详解
2018/04/08 PHP
mongodb和php的用法详解
2019/03/25 PHP
laravel与thinkphp之间的区别与优缺点
2021/03/02 PHP
编辑浪子版表单验证类
2007/05/12 Javascript
Javascript匿名函数的一种应用 代码封装
2010/06/27 Javascript
点弹代码 点击页面任何位置都可以弹出页面效果代码
2012/09/17 Javascript
JQuery 在线引用及测试引用是否成功
2014/06/24 Javascript
JavaScript实现简单的tab选项卡切换
2016/01/05 Javascript
详解AngularJS中$http缓存以及处理多个$http请求的方法
2016/02/06 Javascript
微信小程序开发之toast提示插件使用示例
2017/06/08 Javascript
Vue实战之vue登录验证的实现代码
2017/10/31 Javascript
Servlet返回的数据js解析2种方法
2019/12/12 Javascript
[42:32]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.27
2020/12/01 DOTA
Python文件操作类操作实例详解
2014/07/11 Python
浅谈编码,解码,乱码的问题
2016/12/30 Python
Django实现组合搜索的方法示例
2018/01/23 Python
浅析Python pandas模块输出每行中间省略号问题
2018/07/03 Python
如何Tkinter模块编写Python图形界面
2020/10/14 Python
Django执行源生mysql语句实现过程解析
2020/11/12 Python
html5指南-1.html5全局属性(html5 global attributes)深入理解
2013/01/07 HTML / CSS
使用html5 canvas创建太空游戏的示例
2014/05/08 HTML / CSS
台湾7-ELEVEN线上购物中心:7-11
2021/01/21 全球购物
销售部主管岗位职责
2013/12/18 职场文书
汽车运用工程系毕业生自荐信
2013/12/27 职场文书
员工考核管理制度
2014/02/02 职场文书
学雷锋活动简报
2015/07/20 职场文书
大学军训通讯稿(2016最新版)
2015/12/21 职场文书
SQL实战演练之网上商城数据库商品类别数据操作
2021/10/24 MySQL
baselines示例程序train_cartpole.py的ImportError
2022/05/20 Python