zoukankan      html  css  js  c++  java
  • cookie版登陆校验

    def login_auth(func):
        def inner(request,*args,**kwargs):
            # print(request.path_info)
            # print(request.get_full_path())  # 能够获取到用户上一次想要访问的url
            target_url = request.get_full_path()
            if request.COOKIES.get('username'):
                return func(request,*args,**kwargs)
            else:
                return redirect('/login/?next=%s'%target_url)
        return inner
    
    def login(request):
        if request.method == 'POST':
            username = request.POST.get('username')
            password = request.POST.get('password')
            if username == 'jason' and password == '123':
    
                # 获取用户上一次想要访问的url
                target_url = request.GET.get('next')  # 这个结果可能是None
                if target_url:
                    obj = redirect(target_url)
                else:
                    # 保存用户登陆状态
                    obj = redirect('/home/')
                # 让浏览器记录cookie数据
                obj.set_cookie('username', 'jason666')
                """
                浏览器不单单会帮你存
                而且后面每次访问你的时候还会带着它过来
                """
                # 跳转到一个需要用户登陆之后才能看的页面
                return obj
        return render(request,'login.html')
    
    
    @login_auth
    def home(request):
        # 获取cookie信息 判断你有没有
        # if request.COOKIES.get('username') == 'jason666':
        #     return HttpResponse("我是home页面,只有登陆的用户才能进来哟~")
        # # 没有登陆应该跳转到登陆页面
        # return redirect('/login/')
        return HttpResponse("我是home页面,只有登陆的用户才能进来哟~")
    每天逼着自己写点东西,终有一天会为自己的变化感动的。这是一个潜移默化的过程,每天坚持编编故事,自己不知不觉就会拥有故事人物的特质的。 Explicit is better than implicit.(清楚优于含糊)
  • 相关阅读:
    PyQt5-QComboBox控件使用
    PyQt5-按钮控件使用
    PyQt5-QTextEdit控件使用
    Ubuntu12.04下YouCompleteMe安装教程(部分)
    ubuntu下vim的简单配置
    VirtualBox下vim无法正常使用问题解决
    树莓派下ubuntu-mate中ssh服务的安装与开机后自启动
    水仙花小游戏
    C语言实现判断分数等级
    临时记录(不断更新)
  • 原文地址:https://www.cnblogs.com/kylin5201314/p/13859143.html
Copyright © 2011-2022 走看看