ログイン機能(views.py) - Django

views.py

pythonApp\auth\auth\hello\views.py

from django.contrib.auth.views import LoginView, LogoutView
from django.contrib.auth.mixins import LoginRequiredMixin
from django.views.generic import TemplateView
from . import forms

class TopView(TemplateView):
  template_name = "hello/top.html"

class HomeView(LoginRequiredMixin, TemplateView):
  template_name = "hello/home.html"

class LoginView(LoginView):
  form_class = forms.LoginForm
  template_name = "hello/login.html"

class LogoutView(LoginRequiredMixin, LogoutView):
  template_name = "hello/logout_view.html"

class PublicView(TemplateView):
  template_name = "hello/public.html"

設定内容

LoginView と LogoutView は、View というクラスのサブクラスの1つです。

LoginRequiredMixin を利用することでログインしていないユーザーを特定のページに遷移させる機能を追加できます。