PUROGU LADESU

ポエムがメインのブログです。

【Django】ログインを強制する

LoginRequiredMixin

ログインしていることを前提とした機能の場合、
強制的にログイン画面に飛ばしたい。

クラスベースではLoginRequiredMixinを実装することで可能となる。
ログイン後は、指定した画面に遷移する。
デフォルトではアクセスしようとした画面に戻してくれる。

from django.contrib.auth.mixins import LoginRequiredMixin

class HomeView(LoginRequiredMixin, ListView):

このMixinは一番左に記述する必要がある。
遷移先はsettings.pyの下記で設定が可能。
ない場合はデフォルトが適用される。

LOGIN_URL = "accounts:login"

UserPassesTestMixin

チェック関数を自作して条件を通過した場合にアクセスさせる

PermissionRequiredMixin

機能ごとに指定した権限を持つユーザのみアクセスさせる


Djangoの認証システムを使用する | Django ドキュメント | Django