ログインには、通常、組み込みのビューを使用します。
(r'^login/$', 'django.contrib.auth.views.login'),
しかし、今日気づいたのですが、すでにログインに成功した後に手動でアクセスするとmyserver.com/login
、ログインページが再び表示されます。
これは一貫していません。これを解決する 1 つの方法は、ログイン ビュー関数の上に次の 2 行を追加することでした。
if request.user.is_authenticated():
return HttpResponseRedirect('/')
そのため、ユーザーがすでに認証されている場合は、/ にリダイレクトしてください。
ログインに「django.contrib.auth.views.login」を使用している間にこれを達成する方法はありますか?
アップデート:
誰かがすでにこの質問をしていたようです: Django: Redirect login users from login page
ただし、このソリューションは Django 1.5 では機能しなくなったようです
カスタム ログイン内では、次の場所で例外がスローされます。
return login(request)
-->
AttributeError: 'AnonymousUser' object has no attribute 'backend'