Chapter 3-6 Django 회원가입(SignUp) 페이지 만들기

2025. 5. 6. 18:28·Django
목차
  1. 🧾 Django 회원가입(SignUp) 페이지 만들기
  2. 1️⃣ App 분리: 회원가입 전용 member 앱 생성
  3. 2️⃣ 회원가입 뷰 작성 (member/views.py)
  4. 3️⃣ 회원가입 템플릿 구성 (signup.html)
  5. 4️⃣ URL 연결 (urls.py)
  6. 5️⃣ 로그인 설정 (settings.py)
  7. ✅ 확인 체크리스트

🧾 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 4-1 Django [블로그] 상세페이지에 작성자 정보 추가하기  (0) 2025.05.07
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
  1. 🧾 Django 회원가입(SignUp) 페이지 만들기
  2. 1️⃣ App 분리: 회원가입 전용 member 앱 생성
  3. 2️⃣ 회원가입 뷰 작성 (member/views.py)
  4. 3️⃣ 회원가입 템플릿 구성 (signup.html)
  5. 4️⃣ URL 연결 (urls.py)
  6. 5️⃣ 로그인 설정 (settings.py)
  7. ✅ 확인 체크리스트
'Django' 카테고리의 다른 글
  • Chapter 4-1 Django [블로그] 상세페이지에 작성자 정보 추가하기
  • Chapter 3-7 Django 회원가입(SignUp) 및 로그인(Login) 페이지 만들기
  • Chapter 3-5 Django 로그아웃 기능 만들기
  • Chapter 3-5 Django 로그인 페이지 만들기
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (802)
      • Python (32)
      • 프로젝트 (115)
      • 과제 (25)
      • Database (40)
      • 멘토링 (11)
      • 특강 (37)
      • 기술블로그 (41)
      • 기술블로그-Fastapi편 (33)
      • 기술블로그-Django편 (154)
      • 기술블로그-Flask편 (36)
      • AI 분석 (5)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (77)
      • Fastapi (16)
      • 연예 (14)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    btsreunion
    btsjungkook
    titaniumcase
    bts
    americaparty
    homebartrend
    americanlaw
    college reunions
    self-growth
    smartphonedurability
    urbantrends
    btscomeback
    hotcoffeecase
    btsdischarge
    trumpmuskclash
    life reflection
    basalcellcarcinoma
    chatgpterror
    chinanightlife
    youngprofessionals
    livebroadcast
    remittance
    global politics
    RM
    lawsuitculture
    gpterror
    newpoliticalparty
    classaction
    travel ban
    뷔
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
Chapter 3-6 Django 회원가입(SignUp) 페이지 만들기

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.