【问题标题】:Previous pages display after logout and session deleted注销和删除会话后显示以前的页面
【发布时间】:2020-02-10 01:36:28
【问题描述】:

登录代码:

def login(request):
    if request.method == 'POST':
        user = request.POST['uname']
        password = request.POST['psw']
        log = User.objects.filter(username=user, password=password)
        if log:
            request.session['login'] = True
            return HttpResponseRedirect('/page')
        else:
            return render(request, 'login.html')
    else:
        return render(request, 'login.html')

退出代码:

del request.session['login']
    request.session.modified = True
    return HttpResponseRedirect("/")

注销后,当我返回时,我可以看到以前的页面,但是一旦我刷新页面,它就会将我重定向到登录页面并限制我访问上一页。

def page(request):
    if not request.session.get('login', False):
        return HttpResponseRedirect("/tnp_admin/")
    else: 
       #access page

注销后如何不显示以前的页面,为什么只有刷新页面后会话才能工作?

【问题讨论】:

    标签: python django session


    【解决方案1】:

    您可以在视图中使用if user.is_authenticated 或从django.contrib.auth.decorators 导入login_required 属性并将@login_required 放在该模板的视图顶部。

    【讨论】:

      猜你喜欢
      • 2011-03-28
      • 2015-01-14
      • 2017-06-17
      • 1970-01-01
      • 1970-01-01
      • 2013-03-15
      • 2021-10-17
      • 2012-06-04
      • 2012-09-28
      相关资源
      最近更新 更多