1. 회원가입 1) views.py def signup(request):
# HTTP Method가 POST 인 경우
if request.method == 'POST':
signup_form = UserCreationForm(request.POST)
# 모델폼의 유효성 검증이 valid할 경우, DB에 저장
if signup_form.is_valid():
signup_form.save() return redirect('login')
else:
signup_form = UserCreationForm()
return render(request, 'signup.html', {'signup_form': signup_form})
2) html 파일
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>회원 가입</h1>
<form method="POST">
{% csrf_token %}
{{ signup_form }}
<input type="submit" name="Submit"/>
</form>
</body>
</html>
2. 로그인
1) views.py
def login(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: auth_login(request, user) return redirect('/testapp') else: return redirect('login') else: login_form = AuthenticationForm() return render(request, 'login.html', {'login_form': login_form})
2) html 파일 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>로그인</h1> <form method="POST"> {% csrf_token %} {{ login_form }} <input type="submit" value="Submit"/> </form> </body> </html>
3. 로그아웃
1) views.py def logout(request): auth_logout(request) return redirect('/user/login')