Djangoでの基本的なログインビューと権限制御

2024年6月23日

以下は、Djangoでの基本的なログインビューと権限制御の例です。

  1. ログインビューの作成:

    views.py ファイルにログインビューを作成します。デフォルトのログインビュー LoginView を使用する場合:

    python
    # views.py
    from django.contrib.auth.views import LoginView
    from django.shortcuts import render
    
    def home(request):
        return render(request, 'home.html')
    
    class CustomLoginView(LoginView):
        template_name = 'login.html'
        # その他のカスタマイズが必要な場合は追加できます
    
  2. urls.pyにパスを設定:

    urls.py ファイルにログインページのパスを設定します。

    python
    # urls.py
    from django.urls import path
    from .views import CustomLoginView, home
    
    urlpatterns = [
        path('login/', CustomLoginView.as_view(), name='login'),
        path('home/', home, name='home'),
        # 他のURLパターンも追加できます
    ]
    
  3. 権限制御の例:

    ビューにアクセスするための権限を設定する例です。@permission_required デコレーターを使用して、your_app.can_access_feature の権限を持つユーザーだけがアクセスできるようにしています。

    python
    # views.py
    from django.contrib.auth.decorators import permission_required
    from django.shortcuts import render
    
    @permission_required('your_app.can_access_feature')
    def your_protected_view(request):
        return render(request, 'protected_view.html')
    

これで、ログインページと権限制御の基本的な実装ができました。適宜、テンプレートや他の機能を追加して、アプリケーションに合わせてカスタマイズしてください。

未分類

Posted by ぼっち