Model 데이터 추가
Model에 데이터를 추가하는 방법
- 서버 개발자가 admin 페이지에서 직접 데이터 추가하기
- 서버 개발자가 django shell에서 직접 데이터 추가하기
- 웹페이지 view에서 model에 DB추가하도록 요청하는 기능 구현하기
Admin 페이지에서 직접 추가
admin 페이지 : 사이트 운영자가 사용하는 페이지 → django에서는 기본 제공됨
운영자 계정(superuser) 생성
python manage.py createsuperuser
→ 이름, 이메일, 비밀번호 등 설정이때, 비밀번호는 8글자 이상의 숫자와 문자를 조합하여 작성하도록 되어있음
Bypass 안내문에 y를 입력할 경우 그대로 진행되나, 권장하지 않음
비밀번호 설정 후 superuser 계정 생성 완료
서버 실행 후 admin 페이지 접속
앞서 생성한 운영자 계정으로 로그인
admin 페이지에서 모델에 데이터를 직접 추가 가능
→ 앞서 polls에서 만든 모델을 admin 페이지에도 따로 추가해야 가능
admin 페이지에 모델 및 데이터 추가
polls/admin.py → 다음 코드 입력하여 admin 페이지에 모델 추가
1
2
3
4
5from django.contrib import admin
from .models import Question, Choice
admin.site.register(Question)
admin.site.register(Choice)각 모델(Question, Choices)에 직접 데이터 추가
Django Shell에서 직접 추가
python manage.py shell
입력 (django shell 실행)- 다음 커맨드를 순차적으로 입력하여 Question 모델에 데이터 추가
1
2
3
4from polls.models import Choice, Question
from django.utils import timezone
"What's new?", pub_date=timezone.now()) q = Question(question_text=
q.save()앞서 저장한 데이터의 id 및 내용 확인
데이터 수정 및 업데이트 가능
admin 페이지에서도 업데이트된 데이터 확인 가능
Reference
- django Documentation : https://docs.djangoproject.com/en/3.2/intro/tutorial01/
- 참고 블로그 : https://lucky516.tistory.com/55