LoginSignup
0
0

More than 1 year has passed since last update.

[メモ]DjangoのLogin、Logout機能

Posted at

Djangoのログイン機能に少し引っかかってしまったので、メモします。
startappはDjangoで作成したアプリ内という意味です。

startapp/urls.py
from django.urls import path
from .views import homefunc, loginfunc, logoutfunc

app_name = 'blog'

urlpatterns = [
    path('', homefunc, name='index'),
    path('login/', loginfunc, name='login'),
    path('logout/', logoutfunc, name='logout'),
]
startapp/view.py
from django.shortcuts import render, redirect,
from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.decorators import login_required

@login_required
def homefunc(request):
    return render(request, 'index.html', {})


def loginfunc(request):
    if request.method == 'POST':
        username = request.POST['username']
        password = request.POST['password']
        user = authenticate(request, username=username, password=password)
        if user is not None:
            login(request, user)
            return redirect('blog:index')
        else:
            return render(request, 'login.html', {})

    return render(request, 'login.html', {})


def logoutfunc(request):
    logout(request)
    return redirect('blog:login')
setting.py
LOGIN_URL = 'blog:login'
LOGIN_REDIRECT_URL = 'blog:index'
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0