1. 암호화 알고리즘 선택
2. 솔트(Salt)와 반복 횟수(iterations)
3. 비밀번호 해시화
4. 인증 및 비밀번호 확인
INSTALLED_APPS
django 인증 APP django.contrib.auth
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth', # 장고 기본 인증
...
]
1. views.py 설정
Built-in class-based view
의 CreateView
를 통해 쉽게 구현가능from django.contrib.auth import get_user_model
from django.contrib.auth.forms import UserCreationForm
from django.views.generic.edit import CreateView
class SignupView(CreateView):
template_name = 'signup.html'
form_class = UserCreationForm
model = get_user_model()
def get_success_url(self):
return '/<app이름>/login/'
template_name
: 로그인 페이지로 사용할 html 템플릿form_class
: 폼으로 사용할 클래스. 여기서는 django의 auth앱에 미리 구현된 UserCreationForm
을 사용합니다.model
: 해당 CreationView로 생성할 모델get_success_url()
: 생성 성공하면 어느 URL로 이동할 것이지 설정2. templates 생성 및 설정
1. settings.py 설정
: settings.py에 LOGIN_REDIRECT_URL
설정. 설정하지 않을 시 기본 값은 /accounts/profile/
LOGIN_REDIRECT_URL = '/dd/'
2. auth 앱의 LoginView 사용
from django.contrib.auth.views import LoginView as _LoginView
class LoginView(_LoginView):
template_name = "login.html"
3. templates 생성 및 설정
LogoutView
가 구현class LogoutView(_LogoutView):
template_name = "logout.html"
2. templates 생성 및 설정
from django.contrib.auth.decorators import login_required
@login_required
def my_view(request):
...