django session Login decorator

def login_check(func):
    @wraps(func)
    def inner(request,*args,**kwargs):

        # ret = request.get_signed_cookie('is_login',default=0,salt='dsd',max_age=10)
        ret = request.session.get("is_login")
        if ret == '1':
            return func(request,*args,**kwargs)
        else:
            #获取当前访问页面
            next_url = request.path_info
            print('+++++++',next_url)
            return redirect('/app02/login/?next={}'.format(next_url))
    return inner
@login_check
def index(request):
    return render(request, 'app02/index.html')
def logout(request):
    # rep = redirect('app02/login/')
    # rep.delete_cookie("is_login")
    #删除session
    request.session.flush()
    return redirect('/app02/login/')

 

Guess you like

Origin www.cnblogs.com/yrash/p/11491310.html