Django 프로젝트 초기 설정
django 프로젝트 생성 & git 초기화
- 원하는 위치(directrory)에서 django 프로젝트 시작
- conda 가상환경 생성 및 가상환경 실행
$ conda env list
$ conda create -n "가상환경이름" python=3.9
$ conda env remove -n "가상환경이름"
$ conda activate "가상환경이름"
$ conda deactivate
- 프로젝트 시작을 위한 python 패키지 설치
$ pip install django
$ pip install mysql
$ pip install mysqlclient
- django 프로젝트 생성
$ django-admin startproject "프로젝트이름"
- 생성한 django 프로젝트를 git으로 관리할 수 있도록 초기화
- manage.py 가 위치한 곳으로 이동
$ git init 명령어로 git 초기화
- .gitignore 파일 작성
$ touch .gitignore
$ vim .gitignore
- Tip! gitignore.io
- | python, pycharm, vscode, vim, macOS, Linux, zsh
- Tip! my_settings.py, *.csv .gitignore 파일 안에 추가
- 보안 관련 파일은 github에 업로드되면 안됨
django 프로젝트 초기 셋팅
- Database 생성
$ mysql.server start
$ mysql -u root -p
mysql> create database "데이터베이스이름" character set utf8mb4 collate utf8mb4_general_ci;
- settings.py 설정
- IP 허용
- 사용하지 않는 요소 주석 처리
- If! admin 주석 처리 했을 때 "프로젝트명"/urls.py를 아래와 같이 수정해야 함
from django.urls import path
urlpatterns = [
]
- 보안을 위한 my_settings.py 생성
- django 설정에 존재하는 내용 중 SECRET_KEY, DATABASES 등은 소스로서 공유해야 하는 내용 아님. 그렇기 때문에 별도의 파일 혹은 환경변수로서 관리하는게 좋음. 즉, 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에 my_settings.py 파일 적용
- requirements.txt 생성
pip freeze > requirements.txt
- pip freeze 는 현재 로컬환경에 설치된 파이썬 모듈 정보를 보는 명령어
- pip freeze 의 결과를 requirements.txt에 기록
- django 초기 셋팅 완료 후 오류 검증
- runserver을 통해 오류 검증
$ python manage.py runserver
- 초기셋팅 완료 후 commit 남기기
$ git add .
$ git commit -m "COMMIT내용"
- Git Repository 생성 & 로컬 프로젝트와 연동
- 자신의 github에 repository 만들기
- 로컬의 Django 프로젝트와 github의 repository 연동
- 내 컴퓨터의 defalut branch가 master 일 경우 main 으로 변경
- remote 추가하기
$ git remote add origin "REPOSITORY주소"
- 완료된 초기 셋팅 main branch github에 push
- 새로운 branch 생성 & 프로젝트 진행
- feature/"브랜치명" 브랜치를 생성하고 생성한 브렌치로 이동
$ git branch "BRANCH이름"
$ git checkout "BRAMCH이름"
- django app 시작하기
- settings.py 의 모든 설정이 완료 된 후 app 생성
$ python manage.py startapp products
- settings.py 에 생성한 app 추가
INSTALLED_APPS = [
...
'products',
]
- 완료한 프로젝트 github에 push & Pull request(PR)
- 프로젝트 완료 후 github에 feature/"브랜치명" 브랜치 push
$ git add .
$ git commit -m "COMMIT내용"
$ git push origin feature/"BRAMCH이름"