Django 之 Session的简单使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django 之 Session的简单使用相关的知识,希望对你有一定的参考价值。

作用:

通过设置session,保存用户的登陆信息,实现判断用户是否已经登陆,是否合法访问,并把数据记录写到数据库中,以作保存。

代码(在login函数中)

class Login(View):
    def get(self,request):
        return render(request,"login.html")

    def post(self,request):
        user = request.POST.get("user")
        pwd = request.POST.get("pwd")
        ret = ldap_auth(user, pwd)  # 调用ldap_auth函数,判断用户输入的用户名和密码是否正确,并根据返回的结果返回浏览器
        if ret[0] == "Login successful":
            rep = redirect("cmdb/home/")
            request.session["is_login"] = "1"          #设置"is_login"键值,正常登陆时,值为1
            request.session["user_name"] = user        #设置"user_name"键值,保存登陆的用户名
            request.session["user_title"] = ret[5]     #设置"user_title"键值,保存用户的职位
            return rep
        else:
            return render(request,"login.html")
class Loout(View):
    def get(self,request):
        request.session.flush()                  #把当前用户的session从浏览器删除,同时删除数据库的session值
        return render(request,"login.html")

技术图片

调用方法

1、只要在每个页面或函数中,增加判断“is_login"的session是否等于为1,用作判断该用户是否已经登陆。
技术图片

浏览器session保存在cookies中

技术图片

以上是关于Django 之 Session的简单使用的主要内容,如果未能解决你的问题,请参考以下文章

Django之session验证的三种姿势

Django之session验证的三种姿势

Django之使用redis缓存session,历史浏览记录,首页数据实现性能优化

django基础知识之状态保持session:

django之forms提交

Django之Session