[Django] 가상환경 만들고 MySQL연동하기

hukim·2020년 10월 6일
0

Django

목록 보기
1/12

1. mysql server 접속

먼저 sql에 접속합니다.

$ mysql -u root -p

2. Database 생성

mysql> CREATE DATABASE db_name character set utf8mb4 collate utf8mb4_general_ci;
mysql> show databases;

'django_project' 라는 이름의 database를 생성하고 잘 생성되었는지 확인합니다.

3. miniconda 가상환경 만들기

conda create -n 'env_name' python=3.8 #사용할 파이썬 버전
(base)  hukim@DESKTOP-3UUJHD6  ~/Developement/westarbucks  conda create -n westarbucks python=3.8.5
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/hukim/miniconda3/envs/westarbucks

  added / updated specs:
    - python=3.8.5


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    pip-20.2.3                 |           py38_0         1.7 MB
    setuptools-50.3.0          |           py38_0         729 KB
    ------------------------------------------------------------
                                           Total:         2.5 MB

The following NEW packages will be INSTALLED:

  _libgcc_mutex      pkgs/main/linux-64::_libgcc_mutex-0.1-main
  ca-certificates    pkgs/main/linux-64::ca-certificates-2020.7.22-0
  certifi            pkgs/main/linux-64::certifi-2020.6.20-py38_0
  ld_impl_linux-64   pkgs/main/linux-64::ld_impl_linux-64-2.33.1-h53a641e_7
  libedit            pkgs/main/linux-64::libedit-3.1.20191231-h14c3975_1
  libffi             pkgs/main/linux-64::libffi-3.3-he6710b0_2
  libgcc-ng          pkgs/main/linux-64::libgcc-ng-9.1.0-hdf63c60_0
  libstdcxx-ng       pkgs/main/linux-64::libstdcxx-ng-9.1.0-hdf63c60_0
  ncurses            pkgs/main/linux-64::ncurses-6.2-he6710b0_1
  openssl            pkgs/main/linux-64::openssl-1.1.1h-h7b6447c_0
  pip                pkgs/main/linux-64::pip-20.2.3-py38_0
  python             pkgs/main/linux-64::python-3.8.5-h7579374_1
  readline           pkgs/main/linux-64::readline-8.0-h7b6447c_0
  setuptools         pkgs/main/linux-64::setuptools-50.3.0-py38_0
  sqlite             pkgs/main/linux-64::sqlite-3.33.0-h62c20be_0
  tk                 pkgs/main/linux-64::tk-8.6.10-hbc83047_0
  wheel              pkgs/main/noarch::wheel-0.35.1-py_0
  xz                 pkgs/main/linux-64::xz-5.2.5-h7b6447c_0
  zlib               pkgs/main/linux-64::zlib-1.2.11-h7b6447c_3


Proceed ([y]/n)? y


Downloading and Extracting Packages
setuptools-50.3.0    | 729 KB    | ############################################################## | 100%
pip-20.2.3           | 1.7 MB    | ############################################################## | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done

새로운 가상환경을 생성해줍니다. (westarbucks 생성)

그리고 잘 만들어졌는지 확인하기 위해서 'conda env list'나 'info --envs' 둘 중 하나를 사용해서 확인해줍니다.

4. django & mysqlclient 설치하기

$ pip install django
$ pip install mysqlclient

$ pip freeze

명령어를 사용해서 django와 mysqlclient가 잘 설치되었는지 확인합니다.

5. django project, app 생성하기

$ django-admin startproject 'project_name'
$ python manage.py startapp 'app_name'

'djangoproject'라는 프로젝트 만들고 tree 명령어를 이용해서 확인합니다.

마찬가지로 'project'라는 이름의 app을 만들고 tree 명령어를 이용해서 확인해줍니다.

6. settings.py 수정하기

settings.py에 있는 DATABASE 부분의 초기 설정입니다.

ENGINE 에서 sqlite3을 mysql로 수정하고,
NAME에는 처음에 생성했던 django와 연동할 database이름을 입력합니다.
PASSWORD는 root계정의 패스워드를 입력하고 나머지 부분도 추가해줍니다.

그리고 INSTALLED_APPS 부분에 위에 추가했던 app의 이름을 추가해줍니다.

7. migration & migrate

$ python manage.py makemigrations 'app_name'
$ python manage.py migrate 'app_name'

8. Database Table 생성 확인

mysql> show databases;
mysql> use django_project
mysql> show tables;

mysql 에 접속해서 테이블이 생성되었는지까지 확인했습니다.

0개의 댓글