rueki
Django 기초 05. 이메일 필드 추가 본문
728x90
반응형
이전 시간까지 아이디, 패스워드, 패스워드 확인에 대해서 알아보았다.
이전에 배운 것을 활용해서 이메일 필드를 추가해보자.
먼저 user의 models.py의 코드에 추가로 작성해보자.
from django.db import models
# Create your models here.
class User(models.Model):
username = models.CharField(max_length=32, verbose_name="사용자명")
useremail = models.EmailField(max_length=128, 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 = 'user'
verbose_name = '사용자'
verbose_name_plural = '사용자'
이전 코드와 달라진 점이 무엇인가?
useremail이 추가되었다. 필드를 추가했으니, register.html과 views.py를 수정해야한다.
#views.py
from django.shortcuts import render
from .models import User
from django.http import HttpResponse
from django.contrib.auth.hashers import make_password
# Create your views here.
def register(request):
if request.method == 'GET':
return render(request, 'register.html')
elif request.method =='POST':
username = request.POST.get('username',None)
useremail = request.POST.get('useremail',None) #새로 추가
password = request.POST.get('password',None)
re_password = request.POST.get('re-password',None)
res_data ={}
if not (username and useremial and password and re_password)::
res_data['error'] = '모든 값을 입력해야 합니다!'
elif password != re_password:
res_data['error'] = '비밀번호가 다릅니다!'
else:
user = User(
username=username,
useremail=useremail, #새로 추가
password = make_password(password)
)
user.save()
return render(request, 'register.html',res_data)
<div class="form-group"><!--form의 경우 데이터를 서버에 전달-->
<label for="useremail">사용자 이메일</label>
<input type="email" class="form-control" id="useremail" placeholder="사용자 이메일" name="useremail">
</div>
그리고 필드를 업데이트하기 위해서는 앞선 게시글에서 봤던
python manage.py makemigrations
python manage.py migrate
이 두 명령어를 터미널에 입력함에 따라 업데이트 시켜줘야한다.
makemigrations를 하면
Select an option이 뜰텐데 1을 입력해서 양식을 'test@gmail.com' 으로 입력하고 migrate 하자.
runserver를 하고 접속하면 위와 같이 변경된 것을 확인할 수가 있다.
다음 시간에는 기능확장을 추가적으로 해보자.
728x90
반응형
'Django' 카테고리의 다른 글
Django 기초07. 세션관리 (0) | 2019.11.22 |
---|---|
Django 기초06. static 관리 (0) | 2019.11.21 |
Django 기초 04. 회원가입 (0) | 2019.11.20 |
Django 기초 3. admin 활용 (0) | 2019.11.20 |
Django 기초 2. 프로젝트 및 앱 생성, 데이터베이스 관리 (0) | 2019.11.20 |
Comments