[Django] 회원가입
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
[Django] 회원가입
# views.py from django.http import HttpResponse from django.shortcuts import render from django.contrib.auth.hashers import make_password from .models import Fcuser # Create your views here. # templates 폴더를 바라보고 있기 때문에 templates 안에서 찾는다. def register(request): if request.method == 'GET': return render(request, 'register.html') elif request.method == 'POST': username = request.POST.get('username', None) password = request.POST.get('password', None) re_password = request.POST.get('re-password', None) res_data = {} if not (username and password and re_password): res_data['error'] = '값을 입력해야 합니다.' if password != re_password: res_data['error'] = '비밀번호가 다릅니다.' else: fcuser = Fcuser( username=username, password=make_password(password) ) fcuser.save() return render(request, 'register.html', res_data)
request.method를 이용해 GET, POST 방식을 구분한다.
dictionary data type을 이용해 res_data 변수를 선언하고 값이 없을 때, 비밀번호가 다를 때 에러 메세지를 띄운다.
정상적으로 진행될 경우 models.py 에 정의된 Fcuser class를 호출하고 fcuser.save()를 통해 저장한다.
# models.py from django.db import models import datetime # Create your models here. class Fcuser(models.Model): username = models.CharField(max_length=32, verbose_name='사용자명') password = models.CharField(max_length=64, verbose_name='비밀번호') registered_dttm = models.DateTimeField( auto_now_add='True', verbose_name='등록시간') def __str__(self): # 대문자로 변환되지 않고 등록됨 return self.username class Meta: db_table = 'fastcampus_fcuser' verbose_name = '패스트캠퍼스 사용자' # set Model name verbose_name_plural = '패스트캠퍼스 사용자' # 대문자 변환x
register.html 에 에러 메세지를 출력할 column을 만들고 {{ error }} 값을 출력한다.
회원가입 {% csrf_token %} 사용자 이름 비밀번호 비밀번호 확인 등록 {{ error }}
출력화면은 다음과 같다.
from http://kiha-pro.tistory.com/19 by ccl(A) rewrite - 2020-03-06 04:20:23
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
댓글
댓글 쓰기