django 登录和session过期跳转

http://www.cnblogs.com/fnng/p/3841246.html


这里需要说名一下,使用的是django自带的session封装技术,是在设置了request.session['userName'] = userName 之后,才会在mysql的session 表中生成数据,并且session_key是保存在cookie里面的,也就是说,一台计算机上同一个浏览器(就算双开两个chrome)所使用的cookie是一样的,所以只能一个用户登录,如果想直接使用session,我自己没试过,但是肯定要自己定义一张表来保存session_key的(可以实现同一个电脑双开chrome,两个不同用户登录的需求)。

core代码如下,game1是在有session的前提下,可以跳转的页面,home是没有session的前提下的主页面,并且在game1页面触发的同时更新session过期时间:

def home(request):
    return render(request, 'home.html')

@csrf_exempt
def queryUser(request):
    response_data = {}
    userName = request.POST['userName'].encode('utf-8')
    passWord = request.POST['passWord'].encode('utf-8')
    if userName == '' or passWord == '' :
        response_data['result'] = '-1'  
        return HttpResponse(json.dumps(response_data), content_type="application/json")
    userObject = models.User.objects.get(name=userName)
    if userObject.password == passWord:
        response_data['result'] = '1'
        request.session['userName'] =  userName
        return HttpResponse(json.dumps(response_data), content_type="application/json")
    else :
        response_data['result'] = '0'  
        return HttpResponse(json.dumps(response_data), content_type="application/json")
    
def game1(request):
    userName = request.session.get('userName')
    if userName == None :
        return render(request, 'home.html')
    else :
        request.session['userName'] = userName
        return render(request, 'game1.html')


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值