皆様ごきげんよう。Djangoでログイン機能を実装した後、ログイン後に表示させたいページをログインしていないユーザーが表示できないようにするにはどうすればよいかについてメモを残しておきます。少しでも参考になりますと幸いです。
importの必要なモジュール(記入場所はviews.py)
from django.contrib.auth.mixins import LoginRequiredMixin
判定情報を記入する場所(views.py)
# パラメターにLoginRequiredMixinを入れる事により、ログイン済みの場合の処理として対応される
# 以下はサンプル
class View名(LoginRequiredMixin, TemplateView):
template_name = "テンプレート.html"
もしログインしていない場合の判定と処理を定義する方法(settings.py)
# 以下はサンプル
# ログインページ
LOGIN_URL = "app_name:url.pyで指定しているログインページのname"
# ex: LOGIN_URL = "app_name:login"
これにより、ログインされていない状態であれば必ずLOGIN_URLに設定されているURLにリダイレクトされるようになります。
Comments are closed