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")

Django 之 Session的简单使用

调用方法

1、只要在每个页面或函数中,增加判断“is_login"的session是否等于为1,用作判断该用户是否已经登陆。
Django 之 Session的简单使用

浏览器session保存在cookies中

Django 之 Session的简单使用

猜你喜欢

转载自blog.51cto.com/12965094/2402957
今日推荐