Django 초기환경 세팅
Django 는 무엇일까?
-
파이썬으로 만들어진 무료 오픈소스 웹 애플리케이션 프레임워크(web application framework)
-
쉽고 빠르게 웹사이트를 개발할 수 있도록 돕는 구성요소로 이루어진 웹 프레임워크
-
보안이 우수하고 유지보수가 편리한 웹사이트를 신속하게 개발하는 하도록 도움을 주는 파이썬 웹 프레임워크
[Django의 각 위치 및 기능 그리고 전반적인 흐름]
Django 초기환경 세팅
1. 가상환경 생성
- 프로젝트 마다 독립적인 패키지의 관리를 위해 새로운 가상환경을 생성해서 사용
# 가상환경 생성
conda create -n "가상환경 이름" python=3.8 ---> 가상환경 생성
conda activate "가상환경 이름" ---> 가상환경을 선택하여 접속
2. Database 생성
- 여기서는 mysql 을 설치하여 사용함
$ mysql -u root -p
mysql> create database NAME character set utf8mb4 collate utf8mb4_general_ci;
3. Project Python Package 설치
$ pip install django
# 이후에 MySQL server에 접속하기 위한 package
$ pip install mysqlclient
(M1을 사용하시는 분들은 pip install PyMySQL)
(중요) mysql 설치되어 있는지 먼저 확인하기!
4. Django Project 생성
$ django-admin startproject westarbucks
$ cd westarbucks
5. Settings.py 설정
- IP 허용
ALLOWED_HOSTS = ['*']
- 주석처리 (admin, csrf, auth)
추가로 프로젝트명/urls.py 를 아래와 같이 수정해야한다(중요!!)
from django.urls import path
urlpatterns = [
]
my_settings.py
생성 (DATABASES, SECRET_KEY)
- 장고 설정에 존재하는 내용 중 SECRET_KEY, DATABASE 등은 소스로서 공유해야 하는 내용이 아니다. 별도의 파일 혹은 환경변수로서 관리하는게 좋다.
settings.py
에 바로 저장되는 방식은 지양해야 한다.- 별도의 참조용 파이썬 파일(
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',
'OPTIONS': {'charset': 'utf8mb4'}
}
}
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
-
my_settings.py
의 연동하기위한 코드수정모습
-
settings.py
의 연동하기위한 코드수정모습
- corsheaders
pip install django-cors-headers
- 설치했다면
settings.py
에INSTALLD_APPS
안에 추가해줘야 한다.
INSTALLED_APPS = [
...
'corsheaders'
]
- middleware도 추가해야한다.
MIDDLEWARE = [
...
'corsheaders.middleware.CorsMiddleware',
...
]
- CORS 추가 설정
##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',
)
-
마지막으로 허용할 값을 정의 한다.
-
모든 내용은
settings.py
안에 기록되야 한다.
6. 프로젝트 서버 실행
- 서버 동작(Runserver)을 통한 오류 검증
python manage.py runserver
- 정상 동작 예시
Git & Github
1. git 초기화
- 생성한 장고 프로젝트를 git으로 관리할 수 있도록 초기화 한다.
manage.py
가 위치한 곳으로 이동git init
명령어로 git 초기화
git init
2. .gitignore 생성
-
소스를 공유하기 위해 깃을 사용하지만 올리고 싶은것 올리고 싶지 않은것, 올려서는 안되는 것들이 존재한다. 이를 구분하기 위해 깃이 설치된 디렉토리에
.gitignore
파일을 생성해서 관리해야 한다. -
아래 사이트에서 사용하는 환경에 해당하는 키워드를 선택하면, 자동으로
.gitignore
파일에 정의할 요소들을 생성 해준다. -
아래 키워드를 추가 후 Create 를 해야한다.
- python, pycharm, VisualStudioCode, vim, macOS, Linux, zsh
- 각 단어 입력 후
Enter
를 쳐야 잘 입력된다.
-
Create 하여 나온 내용을
.gitignore
파일 생성 후, 붙여넣기
cd '프로젝트 폴더명'
touch .gitignore
vi .gitignore
############################
# gitignore.io 결과 전체 복사 #
############################
# 가장 하단 my_settings.py 추가하기
my_settings.py (보안 관련 파일은 github에 업로드되면 안된다.)
-
gitignore.io 결과 전체 복사를 한 모습
-
가장 하단 my_settings.py 추가한 모습
3. 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
- Github Push
- git add & commit
git add .
git commit -m "Add: products application"
- Github repository branch push
git push origin "브랜치 이름"
Author And Source
이 문제에 관하여(Django 초기환경 세팅), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sae0428/Django-초기환경-세팅저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)