프로젝트에 사용된 도구
1. Django: 프레임 워크
2. miniconda: 가상환경
3. mysql: DB 서버
미니콘다를 사용하여 프로젝트의 가상환경을 셋팅했습니다.
언어의 패키지, 의존관계와 환경을 관리하는 가상환경 툴입니다.
미니 콘다는 공식 홈페이지로 가서 자신의 OS에 맞는 파일을 다운로드하면 됩니다.
설치 확인: 터미널에 conda list 를 치고 아래와 같은 목록이 나오면 설치 성공!
저는 python 가상환경을 만들겠습니다.
conda create -n "가상환경이름" python=3.8
사용할 python 버전을 입력하고 위를 작성하면 가상환경이 생성됩니다.
내가 만든 가상환경으로 이동하고 싶다면
conda activate "가상환경이름" # 가상환경 활성화
conda deactivate "가상환경이름" # 가상환경 비활성화
pip install django # 웹 프레임워크(필수)
pip install mysqlclient # mysql db서버에 접속하기 위한 패키지(필수)
pip freeze # 설치된 도구 확인
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에 넣는 것은 보안과 관련된 일이기 때문에 매우 중요합니다!!
$ 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 : 프로젝트에서 어떤 기능을 하는 웹 어플리케이션
스타벅스 음료(products)를 데이터베이스로 사용할 어플리케이션을 만듭니다.
$ python manage.py startapp products # products라는 앱 디렉토리를 생성
# settings.py
...
INSTALLED_APPS = [ # 앱을 추가하면 꼭 이 곳에 추가해야 합니다.
...
'products',
]
...
프로젝트 준비는 끝났습니다. 다음은 products 앱에서 models.py를 다루면서 ORM에 대해 알아보겠습니다.