이번 글에서는 지난 번에 생성한 프로젝트의 초기 세팅을 마무리하고 MySQL과 Git을 연동해보도록 하겠습니다.
Settings.py 설정
터미널을 켜고 지난 번에 생성했던 가상환경을 활성화합니다.
conda env list # 가상환경 확인
conda activate mysite # 'mysite' 가상환경 활성화
생성했던 장고 프로젝트 디렉토리로 이동하여 setting.py를 엽니다.
cd mysite
vi settings.py
가장 먼저 허용할 IP 주소를 설정합니다. 여기서는 테스트 개발 목적이므로 모두를 허용하도록 하겠습니다.
# mysite/settings.py
ALLOWD_HOSTS = ['*']
장고에서 제공하는 기본 관리자 앱을 사용하지 않으려면 다음을 비활성화하고, urls.py을 수정해줍니다.
# mysite/settings.py
INSTALLED_APPS = [
# 'django.contrib.admin',
# 'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware',
# 'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
# mysite/urls.py
from django.urls import path
urlpatterns = [
]
다음으로 manage.py와 같은 디렉토리에 my_settings.py 파일 생성 후 settings.py 설정 중 깃허브에 소스로 공유하지 않을 SECRET_KEY
와 DATABASES
를 따로 저장합니다.
cd ..
vi my_settings.py
SECRET_KEY = 'settings.py에서 제공하는 비밀 키'
DATABASES = {
'default' : {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'DATABASE 명',
'USER': 'DB접속 계정명',
'PASSWORD': 'DB접속용 비밀번호',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
settings.py을 다음과 같이 수정합니다.
from my_settings import SECRET_KEY, DATABASES
SECRET_KEY = SECRET_KEY
DATABASES = DATABASES
MySQL 연동
다음으로 장고에서 MySQL을 사용하기 위해 클라이언트를 설치합니다.
pip install mysqlclient
MySQL에 로그인하고 연동할 데이터베이스를 생성합니다. 이후 해당 정보를 my_settings.py의 DATABASES
에 업데이트합니다.
mysql -u root -p
create database my_site character set utf8mb4 collate utf8mb4_general_ci;
# my_settings.py
DATABASES = {
'default' : {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mysite',
'USER': 'root',
'PASSWORD': '****',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
깃 연동 및 .gitignore 파일 생성
manage.py가 있는 디렉토리에서 깃을 시작합니다.
git init
다음으로 .gitignore 파일을 생성합니다.
vi .gitignore
.gitignore 파일에 제외할 사항들을 추가합니다.
.gitignore
my_settings.py
https://www.toptal.com/developers/gitignore 로 이동하여 python, pycharm, VisualStudioCode, vim, macOS, Linux, zsh를 추가하고 소스 코드를 붙여 넣습니다.
#.gitignore
.gitignore
my_settings.py
# https://www.toptal.com/developers/gitignore 소스 코드 복사 #
이렇게 하면 관련 파일들이 추적되지 않으며 깃허브에 올라가지 않습니다.
이제 변경 사항을 깃허브에 푸시해보겠습니다.
git add .
git commit -m "Add: Django Project Setting"
git remote add origin "github URL"
git branch -M main
git checkout -b django/setting
git push origin django/setting
이제 장고 사용을 위한 기본적인 세팅이 완료되었습니다. 서버를 실행하여 설정에 이상이 없는지 확인해봅니다.
python manage.py runserver
requirements.txt 작성하기
다른 개발자와 함께 작업을 하는 경우에는 개발 환경을 requirements.txt 파일에 명시하여 공유하는 게 좋습니다. 이렇게 하면 동일한 버전의 패키지를 설치하여 충돌을 최소화하며 협업할 수 있습니다.
먼저, 현재 개발 환경에 설치된 패키지는 다음의 명령어로 확인할 수 있습니다.
pip freeze
이를 txt 파일로 만들려면 다음을 입력합니다.
pip freeze > requirements.txt
이렇게 하면 모든 설치 패키지들이 공유됩니다. 그러나 프로젝트를 위해 설치한 패키지들 뿐만 아니라 개인 패키지들 또한 설치되기 때문에, 텍스트 파일을 열어 공유할 패키지를 따로 관리할 수도 있습니다.
다른 환경에서 해당 패키지 파일을 동일하게 설치하려면, requirements.txt 파일을 다운 받은 후 다음 명령어를 입력하면 됩니다.
pip install -r requirements.txt
'Django' 카테고리의 다른 글
장고의 작동 방식과 MVT 패턴 (0) | 2022.01.10 |
---|---|
장고 앱이란? 앱 생성 방법 (0) | 2022.01.10 |
장고 시작하기: 프로젝트 생성 방법 (0) | 2022.01.06 |
장고 개발 환경 준비 (0) | 2022.01.06 |
장고란? 장고 기초 설명 (0) | 2022.01.06 |