Django는 사용자 인증 및 관리를 위해 여러 유틸리티 함수를 제공합니다. check_password
, set_password
, authenticate
, login
, logout
함수들을 예시로 들 수 있습니다.
1. check_password()
- 용도: 사용자의 비밀번호가 입력된 비밀번호와 일치하는지 확인합니다.
- 예시:
from django.contrib.auth.models import User user = User.objects.get(username='myusername') if user.check_password('mypassword'): print("비밀번호가 일치합니다.") else: print("비밀번호가 일치하지 않습니다.")
2. set_password()
- 용도: 사용자의 비밀번호를 새로 설정합니다.
- 예시:
user = User.objects.get(username='myusername') user.set_password('newpassword') user.save()
3. authenticate()
- 용도: 사용자 이름과 비밀번호가 유효한지 확인하고, 해당하는
User
객체를 반환합니다. - 예시:
from django.contrib.auth import authenticate user = authenticate(request, username='myusername', password='mypassword') if user is not None: print("인증에 성공했습니다.") else: print("인증에 실패했습니다.")
4. login()
- 용도: 주어진
HttpRequest
객체와User
객체를 사용하여 세션을 시작합니다. - 예시:
from django.contrib.auth import login def my_view(request): # 사용자 인증이 이미 이루어진 상황 가정 user = authenticate(request, username='myusername', password='mypassword') if user is not None: login(request, user) # 로그인 후 처리
5. logout()
- 용도: 현재 세션을 종료합니다.
- 예시:
from django.contrib.auth import logout def my_view(request): logout(request) # 로그아웃 후 처리
'Python > Django' 카테고리의 다른 글
세션과 쿠키를 이용한 Django 인증 시스템 (0) | 2023.12.06 |
---|---|
DRF) serializer에서 validation 메소드 만들기 (0) | 2023.10.01 |
Django 소유자 여부 확인(DRF) (0) | 2023.08.28 |
Serializer에서 method 사용하기 (0) | 2023.08.27 |
Django에서의 Transactions (0) | 2023.08.26 |