Django

Djangoログイン必須を一括でセットする方法

Djangoで ログイン必須を一括セットして、 @login_requiredをたくさん書かなくていい方法

Djangoでは、ログイン状態じゃなくても、ログイン必須を設定しければURLを直接指定するとみることができちゃいます…

そんなシステム欠陥品ですよね…(笑)情報漏洩しまくりになります💦

GlobalLoginRequiredMiddlewareをインストールする

便利なものがあって、こちらをインストールと設定するだけでどのページでも一括でログイン状態を求めるようにしてくれます。

 command
pip install django-glrm

これでモジュールがインストールされます。

あとは、Settingファイルに追記します。

Settings.py にMIDDLEWAREへの追記とPUBLIC_PATHSを追記する

SettingファイルのMIDDLEWAREのところに、

 command
'global_login_required.GlobalLoginRequiredMiddleware',

を追記します。

Django 'global_login_required.GlobalLoginRequiredMiddleware',

あとは、PUBLIC_PATHSをセッティングファイルの下に追記します。

PUBLIC_PATHS = [
   '/accounts/login',  
]

これで、URLを直接 http://127.0.0.1:8000/accounts/home/ と入力してもログイン画面に遷移します。

-Django

© 2021 ごろう@縁紡ぐ