Django 스타벅스 모델링 (1)

토닉·2021년 4월 28일
0

Django

목록 보기
3/6

Django 프로젝트 준비

프로젝트에 사용된 도구
1. Django: 프레임 워크
2. miniconda: 가상환경
3. mysql: DB 서버

가상환경 셋팅

미니콘다를 사용하여 프로젝트의 가상환경을 셋팅했습니다.

miniconda

언어의 패키지, 의존관계와 환경을 관리하는 가상환경 툴입니다.
미니 콘다는 공식 홈페이지로 가서 자신의 OS에 맞는 파일을 다운로드하면 됩니다.

설치 확인: 터미널에 conda list 를 치고 아래와 같은 목록이 나오면 설치 성공!

python 가상환경 설정

저는 python 가상환경을 만들겠습니다.

conda create -n "가상환경이름" python=3.8

사용할 python 버전을 입력하고 위를 작성하면 가상환경이 생성됩니다.

  • 가상환경 확인: 터미널에 conda env list

내가 만든 가상환경으로 이동하고 싶다면

conda activate "가상환경이름" # 가상환경 활성화
conda deactivate "가상환경이름" # 가상환경 비활성화

필요한 패키지 설치

pip install django # 웹 프레임워크(필수)
pip install mysqlclient # mysql db서버에 접속하기 위한 패키지(필수)
pip freeze # 설치된 도구 확인

django로 프로젝트 생성

django_admin startproject 프로젝트명 # 프로젝트 생성
cd 프로젝트명 # 프로젝트 디렉토리

추가 설정

프로젝트에 생성(manage.py가 있는 디렉토리)

  • .gitignore
  • my_settings.py
  • *.csv

.gitignore는 다른사람에게 공개하고 싶지 않은 파일들을 작성하면 됩니다. 밑에 링크로 들어가서 python, pycharm, linux 등 키워드를 추가하여 .gitignore에 복사 붙여넣기 하면 됩니다.
gitignore.io
추가로 my_settings.py , *.csv 도 공개하면 안되기 때문에 gitignore에 넣습니다.

my_settings.py 는 프로젝트안에 프로젝트명과 같은 디렉토리에 있는 settings.py에 보안과 관련있는 파일을 따로 저장하기 위해서 생성합니다. (MySQL 접속할 때 비밀번호, IP 등등)
*.csv는 스타벅스에서 크롤링한 데이터를 저장할 것 입니다.

## my_settings.py
DATABASES = {
    'default' : {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'DATABASE 명',
        'USER': 'DB접속 계정명',
        'PASSWORD': 'DB접속용 비밀번호',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

SECRET = '시크릿키'
## settings.py
from my_settings import DATABASES, SECRET_KEY
...
...

ALLWED_HOSTS = [*] # 모든 접근 허용

...
...

DATABASES = DATABASES # my_settings.py에 있는 DATABASES

SECRET_KEY = SECRET # 시크릿 키에 있는 키를 my_settings.py의 SECRET으로 저장 후 import


...

my_settings.py를 생성하고 .gitignore에 넣는 것은 보안과 관련된 일이기 때문에 매우 중요합니다!!

Database 생성

$ mysql.server start DB서버 실행
$ mysql -u root -p DB서버 접속 # my_settings.py에 입력한 비밀번호로 접속
### mysql ###
mysql> create database "NAME" character set utf8mb4 collate utf8mb4_general_ci; # NAME = 사용할 DB 명

app 생성

프로젝트내에 app 디렉토리를 추가합니다.
app : 프로젝트에서 어떤 기능을 하는 웹 어플리케이션

스타벅스 음료(products)를 데이터베이스로 사용할 어플리케이션을 만듭니다.

$ python manage.py startapp products # products라는 앱 디렉토리를 생성
# settings.py
...

INSTALLED_APPS = [ # 앱을 추가하면 꼭 이 곳에 추가해야 합니다.
	...
    'products',

]
...

프로젝트 준비는 끝났습니다. 다음은 products 앱에서 models.py를 다루면서 ORM에 대해 알아보겠습니다.

profile
우아한테크코스 4기 교육생

0개의 댓글