데이터 분석가
article thumbnail

교재홍보

이전 내용 확인

2. 이메일 인증으로 회원가입(1)

1) super user 생성

  • 모델의 변경사항을 DB에 적용하기 위해 다음의 코드 실행
$ python manage.py makemigrations
    # migration 생성
$ python manage.py migrate
    # migration 적용
  • 다음의 코드를 실행하고 유저정보를 입력하여 슈퍼유저 계정을 생성한다.

2) DB 생성

  • user정보 저장을 위한 DB를 생성해준다.

  • django 서버에 반영하기 위해 다음의 코드 실행
$ python manage.py makemigrations
$ python manage.py migrate
    •  

3) User 생성 후 DB에 저장

웹상에서 회원가입 한 데이터를 DB에 저장하고 사이트에 나타내기 위해 코드를 수정한다.

  • main > templates > main > signup.html의 60번째 라인 수정
    • 수정 전
    <form action="" method="POST" id="signup-form">{% csrf_token %}
    • 수정 후
    <form action="signup/join" method="POST" id="signup-form">{% csrf_token %}
    	# action값을 signup/join으로 설정해 회원가입 버튼을 클릭해 발생하는 요청이 이동할 url을 지정한다.
  • main > urls.py 수정
    • 수정 전
    path('signup', views.signup, name="main_signup"),
    • 수정 후
    path('signup', views.signup, name="main_signup"),
    path('signup/join', views.join, name='main_join'),
    	# signup.html을 통해 들어온 요청을 views.py의 join함수로 전달한다.
  • views.py 수정
    • 수정 전
    from django.shortcuts import render, redirect
    .
    .
    .
    def signup(request):
        return render(request, 'main/signup.html')
    • 수정 후
    from django.shortcuts import render, redirect
    from .models import *
    	# User 모델의 사용을 위해 작성
    .
    .
    .
    def join(request):
        name = request.POST['signupName']
    			# 버튼 클릭으로 발생하는 사용자 요청에서 
    			#	signup.html의 input 태그 중 name='signupName'에 해당하는 데이터를 
    			#	name이라는 변수에 할당해준다.
        email = request.POST['signupEmail']
        pw = request.POST['signupPW']
        user = User(user_name = name, user_email = email, user_password = pw)
            # 사용자 요청으로부터 할당한 name, email, pw변수들을 
    				# User 모델의 속성에 맞춰 입력해 새로운 데이터를 생성하고
    				# 이 데이터를 user변수에 할당한다.
        user.save()
        print('사용자 정보 저장 완료')
    
        return redirect('main_verifyCode')
            # urls.py에 존재하는 path('verifyCode', views.verifyCode, name="main_verifyCode")코드의
    				# name과 맞추어 urls.py로 redirect하고 다시 views.py의 verifyCode함수로 진행하며 MVC패턴에 따른다.
  • admin.py 수정
    • 수정 전
    from django.contrib import admin
    # Register your models here.
    • 수정 후
    from django.contrib import admin
    from .models import *
    
    # Register your models here.
    admin.site.register(User)
    	# join함수를 통해 User 모델에 저장한 데이터를 관리자 페이지에 등록한다.

5) 웹페이지 실행

  • 모델의 변경사항을 DB에 적용하기 위해 다음의 코드 실행
$ python manage.py makemigrations
    # migration 생성
$ python manage.py migrate
    # migration 적용

  • 다음과 같이 회원가입을 진행한 유저정보를 확인할 수 있다.

profile

데이터 분석가

@이꾹꾹

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!