반응형
DataBase 설정 방법
- 뷰(views.py) 에서 데이터베이스에 연결하고 하드 코딩하는 방법은 "현명하지 않은" 방법이다.
- 쿼리가 하드 코딩되어 있으면, 만약 MySQL에서SQLite로 변경된 경우 대부분의 코드를 다시 작성해야 하기 때문이다.
- 장고 데이터베이스 계층은 이러한 문제를 해결해 준다.
- 장고의 데이터베이스 모델을 사용하려면 장고 앱(app)을 만들어야 한다.
# settings.py # Database # https://docs.djangoproject.com/en/1.11/ref/settings/#databases # Example 1) Default 옵션 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } # Example 2) MySQL 사용 : 사용자 계정, 패스워드, 호스트, 포드 작성 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mytest', 'USER': 'root', 'PASSWORD': '1234', 'HOST': '127.0.0.1', 'PORT': '3306', }, }
1. ENGIN : 사용할 데이터베이스 엔진
1) SQLite : django.db.backends.sqlite3
2) MySQL ( 5.5 이상 ) : django.db.backends.mysql
3) Oracle ( 11.1 이상 ) : django.db.backends.oracle
4) 다른 Database도 사용 가능
2.NAME : 데이터베이스 이름
3. OPTIONS : 데이터베이스 연결 옵션 정보
데이터베이스 이름, 사용자 계정, 패스워드, 호스트, 포드 작성 등을 작성한 cnf 파일 읽어서 설정
# settings.py # Example 3) MySQL 사용 : OPTIONS 로 연결 옵션 .cnf 파일 불러서 사용 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'OPTIONS': { 'read_default_file' : '/path/to/my.cnf', }, } } # my.cnf [client] database = NAME user = USER password = PASSWORD default-character-set = utf8
4. USER : 데이터베이스 계정
5. PASSWORD : 데이터베이스 계정 패스워드
6. HOST : 데이터베이스 연결 호스트
7. POST : 데이터베이스 연결 포트
참고 : 장고마스터하기
반응형
'Python > Django' 카테고리의 다른 글
[Python][Django] HttpRequest 객체 정보 (0) | 2019.01.12 |
---|---|
[Python][Django] 모델 (0) | 2019.01.11 |
[Python][Django] settings.py 의 템플릿 로딩 API (0) | 2019.01.08 |
[Python][Django] Template Tag < For > (0) | 2019.01.07 |
[Python][Django] TypeError : ~ is not JSON serializable 해결 방법 (0) | 2019.01.03 |