Djangoで全てのページをログインしていないと見れないようにする
Djangoで全てのページをログインしていないと見れないようにするには、login_requiredデコレータを使います。これにより、指定したビューにアクセスする前にユーザーがログインしているかどうかが確認されます。もしログインしていない場合は、ログインページにリダイレクトされます。
以下は、login_requiredデコレータを使った例です:
python
from django.contrib.auth.decorators import login_required
from django.shortcuts import render
@login_required
def your_protected_view(request):
# ビューの本来の処理をここに書く
return render(request, 'protected_view.html')
上記の例では、your_protected_viewビューはlogin_requiredデコレータでデコレートされています。これにより、このビューにアクセスする際にユーザーがログインしていない場合は、デフォルトでLOGIN_URLで指定されたログインページにリダイレクトされます。必要に応じて、login_requiredデコレータのパラメータとしてカスタムのログインURLを指定することもできます。
これを全てのページに適用する場合、プロジェクトのurls.pyで全てのビューをlogin_requiredデコレータでデコレートすることもできます。

ディスカッション
コメント一覧
まだ、コメントがありません