django
django
django
  • Introduction
  • Django Introduction
  • Basic
    • 환경설정
    • About Django
    • Start Django Project
    • Secret Key 관리하기
    • Settings 분리하기
    • Django App
    • Django View & URL (1)
    • Django Model
      • MySQL 연동
    • Django Admin
    • Django View & URL (2)
    • Django Template
    • Django Template & View & URL
    • Django Static
    • Django form
  • Advanced
    • Django Generic View
    • Django Automated Testing
    • Django Extenstion Template
    • Django Model Package
    • Django OpenSSL setting
  • REST framework
    • Rest API
    • Serializers
    • ViewSet
  • Error
    • 환경설정 zlib 오류발생
    • ModuleNotFoundError
  • 패키지
    • django-debug-toolbar
  • Vue.js 연동하기
Powered by GitBook
On this page
  • MySQL DB API Driver 설치하기
  • settings.py 설정
  • 참고 페이지

Was this helpful?

  1. Basic
  2. Django Model

MySQL 연동

PreviousDjango ModelNextDjango Admin

Last updated 5 years ago

Was this helpful?

Django에 mysql을 연동하여 사용해 볼 것이다. 에서 설치방법과 기본적인 사용법을 확인할 수 있다.

MySQL DB API Driver 설치하기

MySQL을 Django와 연동하기 위해서는 mysqlclient 가 필요하다.

$ pip install mysqlclient
$ pip list
Package     Version
----------- -----------
Django      2.1.7
mysqlclient 1.4.2.post1
pip         19.0.2
pytz        2018.9
setuptools  40.6.2

settings.py 설정

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '', 
        'USER': '', 
        'PASSWORD': '',
        'HOST': '',
        'PORT': '',
    }
}
  • NAME: 생성한 데이터베이스 이름

  • USER: 데이터 베이스 계정(user)명

  • PASSWORD: 계정 비밀번호

  • HOST: 데이터베이스 주소

  • PORT: 데이터베이스 포트 번호 - MySQL의 경우 3306

이와 같은 정보는 git으로 관리하게 되는 경우 보안상 문제가 발생할 수 있으므로 별도의 파일을 생성해 불러올 것이다.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': dev_secrets['DATABASES']['NAME'],
        'USER': dev_secrets['DATABASES']['USER'],
        'PASSWORD': dev_secrets['DATABASES']['PASSWORD']
    }
}
$ python manage.py migrate

migrate후에 mysql에서 설정한 사용자, 데이터베이스에 접속하여 테이블을 확인해보면 다음과 같이 나타난다.

> show tables;
+----------------------------+
| Tables_in_django           |
+----------------------------+
| auth_group                 |
| auth_group_permissions     |
| auth_permission            |
| auth_user                  |
| auth_user_groups           |
| auth_user_user_permissions |
| blog_post                  |
| django_admin_log           |
| django_content_type        |
| django_migrations          |
| django_session             |
+----------------------------+
11 rows in set (0.00 sec)

참고 페이지

MySQL 시작하기
Multiple databases
django에서 mysql을 사용해보자