2016-09-01 103 views
0

如何拒絕或將活動用戶重定向到登錄屏幕?如何根據當前會話拒絕登錄或註冊用戶

我想,用戶只能訪問當前會話允許訪問頁面。

這可以直接在HTML代碼中完成,或只在視圖中完成?

+0

取決於需求,但如果只有登錄導航可以在兩種方式達到目的。然後在模板中做更好。但對於其他任何我認爲在視圖中將是更好的選擇。只需要使用request.user.is_authenticated():重定向(''你的網址') – alphiii

回答

0

如果我正確理解你,你的意思是用戶不應該看到登錄和註冊鏈接(也許在頂欄中)。這可以在模板中完成的:

{% if user.is_authenticated %} 
<!-- show logout link/button --> 
{% else %} 
<!-- show login and signup links/buttons --> 
{% endif %} 

而且還應額外照顧登錄鑑於Python代碼的一致性(也許太安全?)。我認爲你可以做到這一點(未經測試):

def login(request): 
    # check if it's a GET/POST method 
    if request.user.is_authenticated(): 
     return redirect(reverse('your_homepage_for_example')) 
    # do login 
+0

這段代碼是正確的,只有一點變化才能運行,非常感謝! –

相關問題