目標物の確認
ProgateのNode.jsコースで作ったブログアプリと同じものをDjangoで作ってみます。
Djangoでのアプリ開発の一連の流れを整理するために記していきます。
#ログアウト機能の実装
ログアウトボタンをクリックすることによってurl→viewの順にコードが実行されていき、viewの中でログアウトをするための処理を行います。その上でログインページにリダイレクトさせます。
ログアウト用のviewを作ります。**logout()**を使うことによってログアウトさせます(☆1)。
blogapp/blog/views.py
from django.shortcuts import render, redirect
from django.views.generic import TemplateView
from django.contrib.auth.models import User
from django.db import IntegrityError
from django.contrib.auth import authenticate, login, logout # ☆1
class BlogTop(TemplateView):...
def signupview(request):...
def loginview(request):...
def logoutview(request): # ☆1
logout(request)
return redirect('blog:login')
続いて、urls.pyファイルにコードを書きます(☆2)。
blogapp/blog/urls.py
from django.urls import path
from .views import BlogTop, signupview, loginview, logoutview # ☆2
app_name = 'blog'
urlpatterns = [
path('', BlogTop.as_view(), name='top'),
path('signup/', signupview, name='signup'),
path('login/', loginview, name='login'),
path('logout/', logoutview, name='logout'), # ☆2
]
これでログアウト機能は作成完了です!