티스토리 뷰

일단 우리가 지난 시간 Flask를 이용해서 back-api에 이리저리 작업한걸 시원하게 삭제한다.(제길)

더 이상의 미련이 남지 않도록 말끔하게 날려버린다.....

그리고 다시 가상환경을 만들자.

virtualenv .env를 입력해줍시다. 많이 해봤으니까 다들 알거다.

그리고 VisualStudioCode 실행하자. cmd 화면에서 "code ."입력해주면 되고 안되는 사람은 https://blog.thereis.xyz/94 아래 쪽에  보면 해결방법 나오니까 따라하시면 됨.

 

Ctrl + Shift + P 를 눌르고 python: select interpreter를 입력한 뒤에 엔터를 입력하자.
방금 만든 가상환경을 선택하자
requirements.txt 파일을 하나 만들어주자.
requirements.txt 파일 안에 위와 같이 입력한다.

혹시 위의 내용을 입력하기 힘들어하는 사람이 있을 까봐 아래의 코드 입력란에서 퍼갈 수 있다.

django >=1.9, <3
coreapi==2.3.1
djangorestframework
djangorestframework-jwt
django-filter
django-rest-multiple-models
django-cors-headers
python-dateutil
mysqlclient
pymysql

그리고 아래의 명령을 차례로 cmd에 입력한다.

$ .env\Scripts\activate
$ pip install -r requirements.txt

requirements.txt에 있는 내용대로 패키지들을 설치한다.

설치를 완료하면 아래의 명령을 입력한다.

(.env) $ django-admin startproject funny_picture

위와 같이 입력하면 funny_picture라는 폴더를 자동으로 생성하고 프로젝트에 필요한 디렉토리를 자동으로 생성한다.
자동으로 생성된 파일들을 확인할 수 있다.
왼쪽에 사각형 모양 아이콘을 클릭하고 'Django'라고 입력한다음 검색된 목록 중 가장 위에 있는 것을 선택하고 "설치" 버튼을 클릭해준다.
왼쪽 바퀴벌레 금지 아이콘을 클릭한 뒤에 왼쪽 패널 상단에 "구성없음"을 "구성추가"로 바꿔주고 기다리면 오른쪽에 위와같이 "환경선택"이라는 목록이 등장하는데 여기서 Python을 클릭
Django 항목을 선택한다.
그냥 이 상태로 엔터 눌러준다.
자동으로 스크립트가 생성된 것을 확인할 수 있다.

이 상태에서 "program" 항목을 "${workspaceFolder}\\funny_picture\\manage.py" 로 수정해준다.

위와 같이 수정한다.

수정을 완료하고 파일을 저장다음 F5키를 입력해보자.

 

서버가 http://127.0.0.1:8000에 동작한다는 것을 알려준다.

F5키를 입력하면 알아서 Django 서버를 가동하는 메시지를 확인할 수 있다. 서버는 http://127.0.0.1:8000 에 접속하면 확인할 수 있다. 브라우저를 동작시켜 확인해보자.

 

정상적으로 Django가 동작하는 것을 확인할 수 있다. 이제 간단하게 셋팅을 마무리해 보자.

 

서류모양 아이콘을 클릭해보면 db.sqlite3 이라는 파일이 자동으로 생성된 것을 확인할 수 있다. sqlite란 DB의 한 종류인데 모바일이나 마이크로 컴퓨터 같이 작은 시스템이나 저장공간이 협소하지만 DB는 사용해야하는 상황에서 활용되는 DB다. 하지만 우리는 sqlite를 사용할게 아니라 MySQL을 사용할거고 그걸 위해 지난 시간 MySQL을 설치했다. 그러니 db.sqlite3는 삭제하자. 그리고 "funny_picture/funny_picture/settings.py" 파일을 열어서 필요한 것, 불필요한 것 세팅할거다.

 

DB 연결하기

settings.py 파일을 열어서 약 76번째 라인을 보면 아래와 같이 DATABASES 라는 항목을 설정할 텐데 이 부분은 MySQL로 설정을 바꿔 줄거다.

 

현재는 SQLite로 설정되어있지만

이렇게 바꿔 줄거다.

보면서 입력하기 힘들어하는 사람들을 위해서 아래 설정 코드를 남겨두겠다.

/* 생략 */

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'funny_pictures',
        'USER': 'root',
        'PASSWORD': '설치하면서 입력한 password',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

/* 생략 */

항목 하나하나의 설명은 아래의 표를 확인하면 된다.

항목 의미
ENGINE 어떤 DB를 사용할 것인지 DB에 해당하는 엔진 클래스를 지정하는 부분인데 mysql 엔진을 적용해줬다.
NAME 이 프로젝트에서 사용할 DB 스키마를 지정하는 항목이다. 우리는 지난 시간에 funny_pictures라는 스키마를 미리 만들어뒀다.
USER DB의 로그인 아이디. 현재는 개발환경이므로 root 사용자 ID를 입력했다.
PASSWORD DB의 로그인 패스워드. 지난번 MySQL을 설치할 때 입력했던 root 계정의 패스워드를 입력하면 된다.
HOST DB의 접근 주소. 현재는 개발환경이므로 localhost라고 입력하면 된다. 자신의 PC에 MySQL을 설치하지 않은 사람은 https://blog.thereis.xyz/96를 읽고 돌아오도록한다.
PORT DB가 사용하는 PORT 번호인데 MySQL은 기본적으로 3306번 포트를 사용한다. 혹시 MySQL 설치할때 이 3306번을 변경한 사람이 있다면 변경한 Port번호를 입력하면 된다.

 

이러면 일단 DB와 연결은 마무리 되었다고 보면 된다.

 

언어와 타임존 설정

110번째 라인을 보면 LANGUAGE_CODE와 TIME_ZONE 항목이 있을텐데 이것도 우리 입맛대로 변경해준다.

 

이렇게 영어와 UTC로 설정되어있는 타임존을 아래와 같이 한국어와 서울 타임존으로 수정한다. 이와 관련된 정보는 https://docs.djangoproject.com/en/2.2/topics/i18n을 확인하면 된다.

 

이렇게 ko-kr, Asia/Seoul로 설정을 변경해주면 된다.

 

Restframework 설정하기

settings.py 파일 맨 아래쪽에 아래의 코드를 입력해준다.

 

REST_FRAMEWORK = {
    'DATETIME_FORMAT': "%Y-%m-%d %H:%M:%S",
}

DEFAULT_PARSER_CLASSES = {
    'rest_framework.parsers.JSONParser',
    'rest_framework.parsers.FormParser',
    'rest_framework.parsers.MultiPartParser'
}

DEFAULT_RENDERER_CLASSES = {
    'rest_framework.renderers.JSONRenderer',
    'rest_framework.renderers.BrowsableAPIRenderer'
}

이렇게 셋팅하면 일단 기본적으로 Restframework 까지 셋팅이 마무리 되었다.

8-2. 에서 이렇게 셋팅된 Django를 테스트해보는 시간을 갖겠다.

Flask를 한창 셋팅하다 갑자기 Django로 노선변경을 하게되어 다시한번 미안하다는 말을 전하며 오늘은 이만.

 

안녕!

댓글
댓글쓰기 폼