🧾 Django 회원가입(SignUp) 페이지 만들기
1️⃣ App 분리: 회원가입 전용 member 앱 생성
python manage.py startapp member
→ 기능별로 앱을 분리하면 유지보수와 확장에 유리합니다.
📌 settings.py에 앱 등록:
OWN_APPS = [
'blog',
'member', # 추가
]
INSTALLED_APPS = DJANGO_APPS + OWN_APPS + THIRD_PARTY_APPS
2️⃣ 회원가입 뷰 작성 (member/views.py)
from django.contrib.auth.forms import UserCreationForm
from django.shortcuts import render, redirect
from django.conf import settings
def sign_up(request):
# POST 요청이면 입력 값으로 폼 생성, 아니면 빈 폼 생성
form = UserCreationForm(request.POST or None)
if form.is_valid():
form.save()
return redirect(settings.LOGIN_URL) # 로그인 페이지로 리다이렉트
context = {'form': form}
return render(request, 'registration/signup.html', context)
📌 UserCreationForm은 Django가 제공하는 기본 회원가입 폼
📌 유효성 검사를 통해 아이디 중복, 비밀번호 확인 등 처리됨
3️⃣ 회원가입 템플릿 구성 (signup.html)
경로: templates/registration/signup.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>회원가입</title>
</head>
<body>
<h1>회원가입</h1>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">가입하기</button>
</form>
</body>
</html>
📌 form.as_p를 통해 각 필드가 <p> 태그로 출력됨
📌 CSRF 토큰 필수 포함
4️⃣ URL 연결 (urls.py)
from django.contrib import admin
from django.urls import path, include
from blog import views
from member import views as member_views
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.blog_list, name='blog_list'),
path('<int:pk>/', views.blog_detail, name='blog_detail'),
path('accounts/', include('django.contrib.auth.urls')),
# 회원가입 경로 추가
path('signup/', member_views.sign_up, name='signup'),
]
📌 로그인/로그아웃은 auth.urls를 통해 제공됨
📌 회원가입은 직접 뷰를 만들어 연결
5️⃣ 로그인 설정 (settings.py)
LOGIN_URL = '/accounts/login/' # 회원가입 후 이동할 로그인 경로
✅ 확인 체크리스트
항목 설명
member 앱 생성 | ✅ startapp member |
회원가입 뷰 작성 | ✅ UserCreationForm 활용 |
signup.html 구성 | ✅ CSRF 포함, 버튼 작성 |
URL 연결 | ✅ path('signup/', ...) 추가 |
settings.py 설정 | ✅ LOGIN_URL 지정 |
💬 Django 기본 인증 기능을 활용하면 회원가입도 손쉽게 구현할 수 있습니다. 유효성 검사와 보안이 내장되어 있어 매우 안정적이에요!
'Django' 카테고리의 다른 글
Chapter 3-7 Django 회원가입(SignUp) 및 로그인(Login) 페이지 만들기 (0) | 2025.05.06 |
---|---|
Chapter 3-5 Django 로그아웃 기능 만들기 (0) | 2025.05.06 |
Chapter 3-5 Django 로그인 페이지 만들기 (0) | 2025.05.06 |
Chapter 3-4 Django에서의 쿠키와 세션 이해 및 실습 (0) | 2025.05.06 |
Chapter 3-3 Django 블로그 상세 페이지 만들기 (0) | 2025.05.06 |