TIL 12: Django 초기 세팅
가상환경 생성
conda create -n "가상환경 이름" python=3.8
conda activate "가상환경 이름"
Database 생성
$ mysql -u root -p
mysql> create database NAME character set utf8mb4 collate utf8mb4_general_ci;
Project Python Package 설치
$ pip install django
이후에 MySQL server에 접속하기 위한 package
$ pip install mysqlclient
(중요) mysql 설치되어 있는지 먼저 확인해주세요
Django Project 생성
$ django-admin startproject westarbucks
$ cd westarbucks
Settings.py 설정
IP 허용
ALLOWED_HOSTS = ['*']
주석처리 (admin, csrf, auth)
추가로 westarbucks/urls.py를 아래와 같이 수정해주세요.
from django.urls import path
urlpatterns = [
]
my_settings.py 생성 (DATABASES, SECRET_KEY)
- 장고 설정에 존재하는 내용 중 SECRET_KEY, DATABASE 등은 소스로서 공유해야 하는 내용이 아닙니다. 별도의 파일 혹은 환경변수로서 관리하는게 좋습니다.
- settings.py에 바로 저장되는 방식은 지양해야 합니다.
- wecode 에서는 별도의 참조용 파이썬 파일(my_settings.py)을 생성해서, 참조하는 방법으로 진행합니다.
cd '생성한 프로젝트 폴더명'
touch my_settings.py
파일에 실제 쓰여지는 내용
DATABASES = {
'default' : {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'DATABASE 명',
'USER': 'DB접속 계정명',
'PASSWORD': 'DB접속용 비밀번호',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
SECRET_KEY = '시크릿키' #settings.py에 있는 secret_key 를 사용합니다.
settings.py ↔ my_settings.py 연동
from pathlib import Path #기존에 settings.py 에 있는 코드
from my_settings import DATABASES, SECRET_KEY
...
DATABASES = DATABASES
SECRET_KEY = SECRET_KEY
corsheaders
pip install django-cors-headers
설치했다면 settings.py에 INSTALLD_APPS 안에 추가해줘야합니다.
INSTALLED_APPS = [
...
'corsheaders'
]
middleware도 추가해야합니다.
MIDDLEWARE = [
...
'corsheaders.middleware.CorsMiddleware',
...
]
마지막으로 허용할 값을 정의 합니다.
#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',
#만약 허용해야할 추가적인 헤더키가 있다면?(사용자정의 키) 여기에 추가하면 됩니다.
)
서버 동작(Runserver)을 통한 오류 검증
python manage.py runserver
정상 동작 예시
git 초기화
생성한 장고 프로젝트를 git으로 관리할 수 있도록 초기화 한다.
- manage.py 가 위치한 곳으로 이동
git init
명령어로 git 초기화
git init
.gitignore 생성
- 소스를 공유하기 위해 깃을 사용하지만 올리고 싶은것 올리고 싶지 않은것, 올려서는 안되는 것들이 존재합니다. 이를 구분하기 위해 깃이 설치된 디렉토리에
.gitignore
파일을 생성해서 관리해야 합니다. - 아래 사이트에서 사용하는 환경에 해당하는 키워드를 선택하면, 자동으로 .gitignore 파일에 정의할 요소들을 생성 해줍니다.
https://www.toptal.com/developers/gitignore
-
아래 키워드를 추가 후 Create 를 해주세요.
python, pycharm, VisualStudioCode, vim, macOS, Linux, zsh
-
Create 하여 나온 내용을
.gitignore
파일 생성 후, 붙여넣기
cd '프로젝트 폴더명'
touch .gitignore
vi .gitignore
############################
# gitignore.io 결과 전체 복사 #
############################
# 가장 하단 my_settings.py 추가하기
my_settings.py (보안 관련 파일은 github에 업로드되면 안됩니다.)
add & commit
git add .
git commit -m "Add: Django Project Setting"
Branch
-
Branch & Application 생성
-
Branch 생성
-
feature/crud
브랜치를 생성 & 이동git branch 브랜치 이름 # 브랜치 생성 git checkout 브랜치 이름 # 해당 브랜치로 이동 # 생성과 동시에 이동하는 방법 git checkout -b 브랜치 이름
-
-
Application 생성
-
settings.py 설정 후 app 생성
$ python manage.py startapp products
-
settings.py installed_apps 추가
# settings.py INSTALLED_APPS = [ ... 'products',
-
-
Github Push
-
git add & commit
git add . git commit -m "Add: products application"
-
Github repository branch push
git push origin "브랜치 이름"
-
-
Author And Source
이 문제에 관하여(TIL 12: Django 초기 세팅), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kohys92/TIL-12-Django-초기-세팅저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)