회원가입 페이지 보여주기 = GET 방식
회원가입하기 = POST 방식
회원가입 기능 만들기
1. user앱의 views.py로 이동
def sign_up_view(request):
if request.method == 'GET': # GET 메서드로 요청이 들어 올 경우
return render(request, 'user/signup.html')
elif request.method == 'POST': # POST 메서드로 요청이 들어 올 경우
return ""
2. html에 form태그 설정
<form class="form-area" method="post" action="/sign-up/">
# Django에서 post 할 때에 보안을 위해서 무조건 사용
{% csrf_token %}
<div class="form-group mt-2 mb-2">
<label for="username">이름</label>
# id, name 중요
<input type="text" class="form-control" id="username" name="username">
</div>
# form태그의 method로 action에 데이터를 보내주는 역할
<button type="submit" class="btn btn-primary">회원가입</button>
</form>
3. user의 views.py에서 전송되는 데이터 받아서 저장
: html의 input에 입력 했던 것들은 각각 username, password 등 으로 sign_up_view()함수로 들어감
from django.shortcuts import render, redirect
from .models import UserModel
def sign_up_view(request):
if request.method == 'GET':
# 회원가입화면 보이기
return render(request, 'user/signup.html')
elif request.method == 'POST':
# 가입정보를 입력하고 전송
username = request.POST.get('username', None)
password = request.POST.get('password', None)
password2 = request.POST.get('password2', None)
if password != password2:
return render(request, 'user/signup.html')
else:
new_user = UserModel()
new_user.username = username
new_user.password = password
# 저장
new_user.save()
# redirect 함수를 이용해서, 저장완료되면 이동할 페이지의 url을 ('')안에 작성
return redirect('/sign-in')
Django에서 제공하는 사용자모델로 회원가입 기능을 수정
(더 간단하게 코드 수정)
1. user/views.py
수정 전
else:
new_user = UserModel()
new_user.username = username
new_user.password = password
# 저장
new_user.save()
# redirect 함수를 이용해서, 저장완료되면 이동할 페이지의 url을 ('')안에 작성
return redirect('/sign-in')
수정 후
else:
UserModel.objects.create_user(username=username, password=password)
return redirect('/sign-in')
'Django' 카테고리의 다른 글
[Django] 장고 회원가입 - 중복방지 (0) | 2023.05.25 |
---|---|
[Django] 장고 로그인 기능 만들기 (0) | 2023.05.25 |
[Django] url - view - template 연결 (화면 띄우기) (0) | 2023.05.24 |
[Django] Django Model 만들기/ Admin 기능 (0) | 2023.05.24 |
[Django] 장고를 이용한 화면 띄우기 (0) | 2023.05.24 |