
Djangoでログインしないでアクセスした場合、ログインページに移動させる方法【classベースビュー】
アプリを作る上では必須条件でもあるのですが、なんせ前回Djangoを使ってから随分経っているので完全に忘れています。
しかも前回はわけもわからず作ったので関数ベースビューとclassベースビューを混在させてしまい、それぞれでリダイレクトさせる方法が違っていて、なんか面倒なことになったことは微かに記憶にありました。
身についているかどうかは置いといて、こういう微かな記憶があったおかげで今回は苦労せずに実装することができました。
以下、覚書として残しておきます。
#views.py
from django.contrib.auth.mixins import LoginRequiredMixin
class IndexView(LoginRequiredMixin, TemplateView):
template_name = 'index.html'
views.py
from django.contrib.auth.mixins import LoginRequiredMixin をインポートし、
第1引数にLoginRequiredMixinを指定。
#setting.py
LOGIN_URL = '/login/'
settings.py
ログインしていない時のリダイレクト先を指定。
以上。