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. 자동 로그인 테스트
'Django' 카테고리의 다른 글
Django 게시글 리스트 페이징 처리 (0) | 2022.12.07 |
---|---|
Django 사용자별 페이지 접근 권한 설정하기 (0) | 2022.12.07 |
Django Argon2 암호화 알고리즘 적용하기 (0) | 2022.12.06 |
Django 회원가입 기능 추가하기 (0) | 2022.12.01 |
Django 로그인, 로그아웃 기능 추가하기 (0) | 2022.12.01 |
댓글