본문 바로가기
Django

Django 회원가입 후 자동 로그인

by 개발자54 2022. 12. 7.

Django는 자동 로그인 기능을 이미 내장함수로 구현해두었기 때문에 가져다 쓰기만 하면 된다.

 

1. accounts의 뷰에 자동 로그인 코드 추가

# accounts/views.py

from django.shortcuts import render
from .forms import RegisterForm

# 추가한 코드 
from django.contrib.auth import login as auth_login
# 추가한 코드 끝

def register(request):
    if request.method == 'POST':
        user_form = RegisterForm(request.POST)
        if user_form.is_valid():
            new_user = user_form.save(commit=False)
            new_user.set_password(user_form.cleaned_data['password'])
            new_user.save()
            # 추가한 코드 
            auth_login(request, new_user)
            # 추가한 코드 끝
            return render(request, 'registration/register_done.html', {'new_user':new_user})
    else:
        user_form = RegisterForm()

        return render(request, 'registration/register.html', {'form':user_form})

 

 

2. 자동 로그인 테스트

회원 정보를 입력하고 Register 클릭
가입이 되자마자 상단에 '로그아웃' 버튼이 뜨면서 자동 로그인이 처리되었음을 알 수 있다.

 

댓글