-
[Django] Django와 MySQL 연동하기Web/Django 2020. 7. 9. 23:46
아직 장고에 MySQL이 설치되어 있지 않다면 아래 포스트를 참고해서 설치하면 된다.
https://dodormitory.tistory.com/3
[
Ubuntu(우분투)에 MySQL 설치하기
우분투에 MySQL설치하는 것은 어렵지 않다. 참고로 Ubuntu 18.04를 사용하고 있습니다. MySQL 설치 sudo apt update sudo apt install mysql-server 위 명령어들을 터미널에 입력해보자. 우선 업데이트하고 난 다..
dodormitory.tistory.com
](https://dodormitory.tistory.com/3)
1 - Settings.py에서 Database를 MySQL로 바꿔주기
장고를 처음 설치하면 settings.py에서 Database는 SQLite로 설정되어있다.
Settings.py 에서 DATABASE 설정이 되어 있는 부분을 아래를 참고해서 바꿔주면 된다.
내가 바꾼 부분을 #로 표시해놓았다.DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 'NAME': 'study', (사용할 DB 이름) # 'USER': 'MySQL 사용자 ID', # 'PASSWORD': '디비 비밀번호', # 'HOST': 'localhost', (사용할 DB host 주소) # 'PORT': '3306', 'OPTIONS': { 'init_command': 'SET sql_mode = "STRICT_TRANS_TABLES"', 'charset' : 'utf8mb4', } } }
2 - PyMySQL 설치
pip3 install PyMySQL
3 - init.py에 pymysql 관련 코드 추가
import pymysql pymysql.install_as_MySQLdb()
4 - 에러 수정
이제 python3 manage.py runserver를 해서 실행해보자.
하지만 내가 실행해보았을 때에는raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__) django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.
이런 에러가 떴다.
이 에러를 고치는 방법은 아래에 있다.
저 에러가 뜰 때에 위에 File 로 시작하는 부분에 base.py의 주소가 적혀있다.
이 base.py 파일을 열어서 수정해야한다. ( sudo vi /User/ ... / mysql/base.py )
이제 들어가서 저 위에 있는 부분의 에러를 raise하는 부분을 주석처리하고 pass를 넣어주면 된다. 아래의 그림처럼 되면 된다.
이제 또 한 번 python3 manage.py runserver 명령어를 실행해봅시다.
만약에
query = query.decode(errors=’replace’) AttributeError: ‘str’ object has no attribute ‘decode’
이런 에러가 뜬다면
에러의 위 쪽을 보면 operations.py 의 주소가 있을 것이다.
base.py 수정했을 때처럼 또 저 주소의 operaions.py 파일을 연다
위에 query = query.decode(errors='replace') 부분을 찾아서 decode를 encode로 바꿔주면 된다 !
5 - 완료
이제 실행해보면 잘 돌아간다 !
'Web > Django' 카테고리의 다른 글
[Django] webhook을 사용하여 잔디(JANDI)에 알림 보내기 (0) 2020.08.18 [Django] Python 3.5에서 Python 3.7로 업그레이드 하기(mod_wsgi업그레이드) (Ubuntu) (0) 2020.08.09 [Django] Google 계정으로 로그인하기 (로컬 서버 + 실제 서버) (0) 2020.08.05 [Django] Ubuntu에서 Django + Apache2 연결하기 (0) 2020.07.07 [Django] MacOS 장고 개발환경 설정 (2) 2020.06.24