2014-10-22 4 views
0

데지 타를 사용하는 데 데코레이터를 처음 사용했습니다. 인증되지 않은 사용자가 특정보기에 액세스하지 못하도록 다시 설정할 수 있습니다. 나는 loggin에 의해 페이지를 볼 수 있는데 그것은 완벽하다. 그러나 제한된 페이지에서 로그 아웃 한 후 뒤로 버튼을 누르면 제한된 페이지로 돌아 간다.@login_required 브라우저에서 뒤로 버튼을 누르는 동안 데코레이터가 작동하지 않습니다.

Heres는 내보기 :

@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/' 

Heres는 내 로그 아웃보기 :

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

로그 아웃 후에는 리디렉션해야합니다. – thebjorn

+0

나는 이것을했다 :'return HttpResponseRedirect ('/')'그러나 didnt는 도왔다! 당신이 이것을 의미 했습니까 ?? @thebjorn – catastropic

답변

1

귀하의 loggout보기, 진짜보기 안 단지 로그 아웃하고 사용자를 다른보기로 리디렉션하는 URL 경로, cache_control을 사용하여 브라우저가 캐시되지 않도록 할 수도 있습니다 장식 자.

from django.views.decorators.cache import never_cache 

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

로그인보기, 로그 아웃보기 및 대시 보드보기에서 그렇게했습니다. 그게 도움이 안된다. – catastropic

+0

리다이렉션 자체가 사용자가 페이지를 다시 볼 수 없도록해야한다. 또한 보내진 헤드 어가 다음과 같은 설정을 가지고 있는지 확인해야한다 :'patch_cache_control (response, no_cache = True, no_store = True, must_revalidate = True)' –

+0

도와 줘서 고마워! ! – catastropic