반응형
Django 셸(Django shell) 사용 방법
Django 셸(Django shell)은 데이터베이스 모델을 직접 다루거나 테스트 코드를 실행할 때 매우 유용한 도구입니다.
다음은 Django 셸을 실행하고 사용하는 기본적인 방법을 순서대로 안내드립니다.
✅ 1. Django 셸 실행 방법
가상환경이 활성화된 상태에서 아래 명령어를 입력합니다:
python manage.py shell
실행되면 다음과 같이 Python 인터프리터 창이 열립니다:
Python 3.x.x (…)
Type "help", "copyright", "credits" or "license" for more information.
>>>
✅ 2. Django 모델 불러오기
예를 들어, pybo 앱 안에 Question 모델이 있다고 가정하면 다음과 같이 모델을 불러올 수 있습니다:
from pybo.models import Question
시간 관련 필드를 위해 timezone도 함께 불러옵니다:
from django.utils import timezone
✅ 3. 데이터 생성
q = Question(subject='테스트 제목', content='테스트 내용', create_date=timezone.now())
q.save()
✅ 4. 데이터 조회
모든 데이터를 조회하려면:
Question.objects.all()
특정 조건으로 필터링:
Question.objects.filter(subject='테스트 제목')
하나만 가져오기 (없으면 오류 발생):
Question.objects.get(id=1)
✅ 5. 데이터 수정
q = Question.objects.get(id=1)
q.subject = '수정된 제목'
q.save()
✅ 6. 데이터 삭제
q = Question.objects.get(id=1)
q.delete()
✅ 7. 반복 데이터 입력 예시 (300개 생성)
for i in range(300):
q = Question(subject=f'테스트 데이터입니다.[{i:03d}]', content='내용 없음', create_date=timezone.now())
q.save()
✅ 8. Django 셸 종료
입력:
exit()
또는 Ctrl + Z → Enter (Windows 기준)
💡 보너스: shell_plus 추천
django-extensions 패키지를 설치하면 shell_plus라는 더 강력한 셸을 쓸 수 있습니다:
pip install django-extensions
settings.py에 앱 등록:
INSTALLED_APPS = [
...
'django_extensions',
]
그리고 실행:
python manage.py shell_plus
shell_plus는 모델을 자동으로 불러옵니다.
shell_plus는 shell 명령보다 더 강력합니다. 장고 프로젝트의 모델, 설정된 앱, 외부 패키지 등을 자동으로 불러와 줍니다.
매번 from myapp.models import ... 하지 않아도 됩니다.
반응형
'도서로 공부하는 프로그래밍 > 코딩 자율학습' 카테고리의 다른 글
AWS에서도 노코딩(No-code) 또는 로우코딩(Low-code) 도구 활용 (4) | 2025.06.27 |
---|---|
주요 프로그래밍 언어별 웹 프레임워크 (2) | 2025.06.26 |
[Python] Windows에서 PIP 업그레이드 관련 코딩 (2) | 2025.06.23 |
AWS Lambda로 간단한 API 만들기 (1) | 2025.06.20 |
EC2와 Lambda(서버리스)의 핵심 차이 (1) | 2025.06.19 |