• session验证_django


    一、session的原理

    cookie是保存在客户端浏览器的键值对;

    而session是保存在服务器端的键值对,相当于一个大的字典,每个用户来验证成功之后都会随机生成一个字符串,然后把这个字符串给用户的浏览器cookie,客户端的浏览器上就这有一个随机字符串(key),数据都存放在服务器端。基于session做验证,必须和cookie结合。

    session必须四线生成数据库,因为默认随机字符串和信息是存放在数据库的表中的。

    二、实现的小例子

     1 def login(request):
     2     if request.method=="GET":
     3         return render(request,"login.html")
     4     elif request.method=="POST":
     5         username=request.POST.get('user')
     6         password=request.POST.get('pwd')
     7         if username=="root" and password=="123":
     8             #验证成功之后给session里面设置数据
     9             request.session['username']=username  
    10             request.session['is_login']=True
    11             return redirect("/index/")
    12         else:
    13             return render(request,"login.html")
    14 
    15 
    16 def index(request):
    17     #验证登录的数据
    18     if request.session.get("is_login",None):
    19         return HttpResponse(request.session["username"])
    20     else:
    21         return HttpResponse("gun")

    三、session里面其他操作

    获取信息:

      request.session['k1']   #不存在时会报错

      request.session.gt('k1',None) #推荐使用,不存在时不会报错,会等于None

    设置信息:

      request.session['k1']=123

      request.session.setdefaule('k1',123)  #如果里面存在k1,则不设置,不存咋则设置

    删除信息:

      del request.session['k1']

    对大字典里面的键值操作:

      request.session.keys()

      request.session.values()

      request.session.items()

      request.session.iterkeys()

      request.session.itervalues()

      request.session.iteritems()

    设置超时时间:

    request.session.set_expiry(value)

      

    django里面的默认超时时间是两周
    修改session默认:(直接写在settings里面)

    Django中默认支持Session,其内部提供了5种类型的Session供开发者使用:
    数据库(默认)
    缓存
    文件
    缓存+数据库
    加密cookie

  • 相关阅读:
    安卓开发笔记——Broadcast广播机制(实现自定义小闹钟)
    安卓开发笔记——ListView加载性能优化ViewHolder
    安卓智能聊天机器人开发(二)
    安卓智能聊天机器人开发(一)
    基于Tcp协议的简单Socket通信实例(JAVA)
    Gson简要使用笔记
    JAVA的String 类【转】
    Oracle EBS R12 客户表结构
    EBS登陆界面个性化
    EBS取Web字段SQL操作文档
  • 原文地址:https://www.cnblogs.com/chenxiaozan/p/13286201.html
Copyright © 2020-2023  润新知