为什么我第一次登入无法跳转

def login(request): if request.session.get('is_login', None): return redirect('/') if request.method == 'POST': username = request.POST.get('username') password = request.POST.get('password') if username.strip() and password: try: user=Alluser.objects.get(name=username) except: return render(request,'login/login.html',{'msg':'用户不存在'}) if user.password == password: request.session.set_expiry(None) request.session['username']=username request.session['is_login']=True user.last_login=datetime.datetime.now() user.save() return redirect('/') else: return render(request,'login/login.html',{'msg':'密码错误'}) else: return render(request, 'login/login.html', {'msg': '请输入完整信息'}) return render(request,'login/login.html')</p> ;验证过程十分简单,就是简单的账号密码比对,连密码都没有加密。 但是每次第一次登入,都会卡住,无论等多久都不会跳转。 需要等到十几秒,然后再点击一次登入,就瞬间跳转了。 ;然后当我登入成功之后,再退出登入,清空了会话request.session.flush()。 重新登入,就瞬间跳转了。然后我尝试了一下别的账号,依然瞬间跳转。 ;只有我一段时间不登入,然后登入就会卡住。(不止是登入,注册的时候提交POST,也会卡住) ;给我的感觉就是,数据库一段时间没使用,断了,然后第二次才重连上?但是我打开首页就需要查询数据库的,打卡首页就从来没有卡过,只有登入和注册这个环节。 话说django自带的admin,第一次验证也需要大概十秒左右,但是admin十秒之后会跳转,我自己写的就不会。

评论 1

  • 打个断点一步步调试就知道了,肯定是哪地方逻辑有问题,一直等待,你第二次再点登陆的话,肯定是逻辑又通了。还有这个不说又给地方可以贴代码的吗?

    sdadadsadaas

  • 谢谢老哥。查了半天没查出来。我原本用的是谷歌浏览器,然后我换了个浏览器,发现一切正常了。然后问了其他人,好像都没这个问题,我就先不管了。