2016-09-01 9 views
0

アクティブユーザーをログイン画面に拒否またはリダイレクトするにはどうすればよいですか?現在のセッションに基づいてユーザーにログインまたは登録を拒否する方法

現在のセッションでアクセスが許可されている場合にのみ、ユーザーはページにアクセスできます。

これはHTMLコードで直接行うことができますか?

+0

は必要に応じていますが、ログインナビを持っていれば両方の方法で有効です。ヘッダーの場合は、テンプレートで行う方がよいでしょう。しかし、他の人にとって私はビューではより良い選択肢だと思います。 request.user.is_authenticated():redirect( 'あなたのURL') – 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

そのコードはちょっと変わっただけで動作しますが、大丈夫です! –

関連する問題