2014-10-22 70 views
0

后退按钮这是使用装饰Django的我的第一次。我能够阻止未经身份验证的用户访问某些视图。我只能通过登录页面查看页面,但是当我从限制页面登出后点击后退按钮时,它只会回到受限制的页面。@login_required装饰亘古不变的工作,而打在浏览器

继承人我的观点:

@login_required 
def dashboard(request): 
    if not request.user.is_authenticated(): 
    return render_to_response('/blog/login.html') 

category = Category.objects.all() 
return render_to_response('dashboard.html',{'category':category}) 

Settings.py:

#URL for @login_required decorator to use 
LOGIN_URL = '/blog/login/' 

#Redirect Authenticated USers 
LOGIN_REDIRECT_URL = '/blog/dashboard/' 

继承人我退出浏览:

def user_logout(request): 
    logout(request) 
    return render_to_response('login.html') 
+0

您应该在注销后重定向。 – thebjorn 2014-10-22 07:21:20

+0

我这样做:'返回HttpResponseRedirect('/')',但没有帮助!你的意思是? @thebjorn – catastropic 2014-10-22 07:26:10

回答

1

你loggout观点不应该是一个真正的观点,只是一个将登录并将用户重定向到另一个视图的URL路由,您还可以使用cache_control强制浏览器不缓存装饰。

from django.views.decorators.cache import never_cache 

@never_cache 
def myview(request): 
    ... 
+0

我在登录视图,注销视图和仪表板视图中这样做了。那没有帮助。 – catastropic 2014-10-22 07:35:00

+0

重定向本身应该防止用户再次看到页面,也确保使用萤火虫,发送的头像有这些设置:'patch_cache_control(response,no_cache = True,no_store = True,must_revalidate = True)' – 2014-10-22 07:37:12

+0

谢谢,帮助! ! – catastropic 2014-10-22 08:32:47

相关问题