-
[DJANGO] 초기세팅 & Git GithubDEV/🟢 DJANGO 2021. 8. 20. 00:43
1. 가상환경 초기 세팅
: 프로젝트마다 독립적인 패키지 관리를 위해 새로운 가상환경을 생성해서 사용해야한다.
🔥 프로젝트 폴더 안에서 설치할 것
# 가상환경 생성 conda create -n "가상환경 이름" python=3.8 conda activate "가상환경 이름"
2. 데이터 베이스 생성
: 프로젝트에서 사용할 데이터베이스를 생성한다.
이때 데이터베이스 이름은 프로젝트명과 같이하면 편하다.
mysql -u root -p mysql> create database "NAME" character set utf8mb4 collate utf8mb4_general_ci;
3. 프로젝트(폴더) 안에서 Django(파이썬 패키지)설치
: 폴더안에 장고프레임워크 설치
: mysqlclient로 데이터베이스(MySQL) 서버에 접속하기 위한 패키지 설치
pip install django # 이후에 MySQL server에 접속하기 위한 package pip install mysqlclient
4. 장고프레임 워크를 사용하는 프로젝트 사용
: "프로젝트명" 뒤에 . 을 붙여야 경로가 간단해진다.
django-admin startproject "프로젝트명" . #보통 config 라고 시작함 cd "프로젝트명"
5. 장고프로젝트 / setting.py 설정
1) 모든 IP 허용
ALLOWED_HOSTS = ['*']
2) 사용하지 않는 앱과 미들웨어 주석처리
앱 1번째 2번째 주석처리
미들웨어 4번째 5번째 주석처리
6. 장고프로젝트 / 베이스 url.py 설정
: url.py 목차를 초기화
from django.urls import path urlpatterns = [ ]
7. 생성한 폴더 / my_settings.py 생성
1) 🔥 항상 manage.py 위치에서 생성할 것. 절대 장고프로젝트안에 위치하지말 것
cd '생성한 프로젝트 폴더명' touch my_settings.py
DATABASES = { 'default' : { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'DATABASE 명', # git 'USER': 'DB접속 계정명', # root 'PASSWORD': 'DB접속용 비밀번호', #쉿! 알지? 'HOST': '127.0.0.1', 'PORT': '3306', } } SECRET_KEY = '시크릿키'
2) my_settings.py 와 베이스 settings.py 연동
from pathlib import Path #기존에 settings.py 에 있는 코드 from my_settings import DATABASES, SECRET_KEY DATABASES = DATABASES SECRET_KEY = SECRET_KEY
8. corsheaders : manage.py 있는 위치 설치
pip install django-cors-headers
1) 설치했다면 베이스 setting.py - INSTALLD_APPS 안에 추가
INSTALLED_APPS = [ ... 'corsheaders' ]
2) middleware에도 추가
MIDDLEWARE = [ ... 'corsheaders.middleware.CorsMiddleware', ... ]
3) 마지막 허용값 정의
#REMOVE_APPEND_SLASH_WARNING APPEND_SLASH = False ##CORS CORS_ORIGIN_ALLOW_ALL=True CORS_ALLOW_CREDENTIALS=True CORS_ALLOW_METHODS = ( 'DELETE', 'GET', 'OPTIONS', 'PATCH', 'POST', 'PUT', ) CORS_ALLOW_HEADERS = ( 'accept', 'accept-encoding', 'authorization', 'content-type', 'dnt', 'origin', 'user-agent', 'x-csrftoken', 'x-requested-with', #만약 허용해야할 추가적인 헤더키가 있다면?(사용자정의 키) 여기에 추가하면 됩니다. )
9. 서버 실행을 통한 오류검증
python manage.py runserver
Git & Github
: 프로젝트 파일관리를 용이하게 해주는 필수 협업툴
0. Github repository 생성
: 레버지토리주소 복사
1. 로컬(내 컴퓨터) 장고프로젝트와 github의 repository 연동
0) 만약 내 컴퓨터 default branch가 master일 경우
git branch -M main
1) remote 추가하기
git remote add origin repository주소
2. Git 초기화
1) 생성한 장고 프로젝트를 git으로 관리할 수 있도록 초기화
🔥manage.py에 위치한 곳에서 실행
git init
2) .gitignore 파일 작성
: 올리고 싶은 것과 올리기 싫은 것을 구분하기 위해 파일 생성
정의할 요소 생성 후 .gitignore 파일 저장(python, pycharm, visualstudiocode, vim, macos, linux,zsh)
gitignore.io
Create useful .gitignore files for your project
www.toptal.com
touch .gitignore vi .gitignore ######################## # gitignore 결과생성 복붙 # ######################## my_setting.py #보안 관련 파일은 저장하면 안됨!
3. 초기 세팅 완료 후 commit 남기기
: remote add origin = 구매목록추가
push origin main = 구매확정
#git 에 올릴만 한 것 구매목록에 추가 git add . git commit -m "CREATE: 프로젝트 초기 셋팅" git branch -M main git remote add origin "깃허브레퍼지토리주소" #구매 확정 git push origin main
🔥2021년 8월 13일부로 깃허브 주소를 직접 가져오는 것이 아니라 tokenkey로 가져오는 걸로 바뀌었음
키체인을 토큰방식으로 바꿔주고 하면 된다. 자세한 내용은 밑 링크참고
맥 OS: git push에서 The requested URL returned error: 403 해결 방법
Git Hub에서 액세스 토큰 방식으로 바뀌면서 인증에 어려움을 겪을 수 있다. 일단 액세스 토큰 생성 방법은 아래 글을 참고하기 바란다. GitHub 토큰 인증 로그인: Personal Access Token 생성 및 사용 방법
curryyou.tistory.com
Branch
: main에서 벗어나와 원본을 훼손시키지 않고 시도할 수 있음1. Branch 생성
feature/crud 브랜치를 생성 & 이동
#1번쨰 방법 git branch 브랜치 이름 git checkout 브랜치 이름 #2번째 방법(생성과 동시에 이동) git checkout -b 브랜치 이름
2. Application 생성
1) app 생성
python manage.py startapp 앱이름
2) settings.py installed_apps 추가
: 장고프로그램에 앱 추가되었음을 알려주기
# settings.py INSTALLED_APPS = [ ... '앱이름' ]
3. Github Push
1) git add & commit
git add . git commit -m "Add: 앱이름"
2) git repository branch push
git push origin "브랜치 이름"
'코딩 > 🟢 DJANGO' 카테고리의 다른 글
[DJANGO] 인증과 인가(1) : 회원가입 구현하기 (0) 2021.08.26 [DJANGO] CRUD: POST & GET 로직 (0) 2021.08.22 [DJANGO] CRUD (0) 2021.08.20 [DATABASE] 스타벅스 모델링 (0) 2021.08.15 [DATABASE] Intro (0) 2021.08.15