Django 필기노트3 [inflearn_나의_첫_Django_앱_만들기]
3. DB 생성 및 migration적용
DB를 사용하기위해서 mysite/settings.py에 있는 DATABASES에 접근하여 설정을 변경 가능하다.
강의에서 사용되는 기본 SQL인 sqlite3
을 사용한다
# Database
# https://docs.djangoproject.com/en/4.1/ref/settings/#databases
DATABASES = {
"default": {
"ENGINE": "django.db.backends.sqlite3",
"NAME": BASE_DIR / "db.sqlite3",
}
}
key | value작성법 |
---|---|
ENGINE | DB명을 입력한다 형식은 ‘django.db.backends.지원되는 DB명’으로 ‘django.db.backends.sqlite3’과 같이 작성한다 |
NAME | 데이터베이스명으로 파일명을 포함한 절대경로를 사용하는 이름이 들어간다. |
서버시간을 설정하기위해 다음과 같이 수정한다
# Internationalization
# https://docs.djangoproject.com/en/4.1/topics/i18n/
LANGUAGE_CODE = "ko-kr" # 언어설정
TIME_ZONE = "Asia/Seoul" # 서울시의 시간을 사용한다
USE_I18N = True #국제화 사용여부(그냥 k8s와 같은 줄임말이다)
USE_TZ = True #장고 시간대 사용여부
DB를 설정하는 이유는 많지만 우선적으로는 INSTALLED_APPS
가 DB를 사용하는 경우가 많기 때문이다.
# Application definition
INSTALLED_APPS = [
"django.contrib.admin",#어드민 사이트
"django.contrib.auth",#인증 시스템
"django.contrib.contenttypes",#컨텐츠 타입 시스템
"django.contrib.sessions",#세션 시스템
"django.contrib.messages",#메세지 시스템
"django.contrib.staticfiles",#정적 파일 시스템
]
따라서 다음과 같은 커맨드를 사용해 DB를 설정한다.
migrate
명령어는 셋팅의 INSTALLED_APPS
을 확인하고 mysite/settings.py 파일과 기본 어플리케이션이 가지고 있는 데이터베이스 마이그레이션 파일에 따라 필요한 테이블을 만든다.
python manage.py migrate
DB설정을 완료하면 기존 runserver시 나타나던 경고가 사라짐을 확인할 수 있다.
기존
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
August 05, 2022 - 14:56:31
Django version 4.1, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
설정완료후
August 05, 2022 - 15:11:44
Django version 4.1, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
댓글남기기