STEP1. 독립적인 파이썬 실행 환경 (=가상환경) 구축
- pip 패키지 매니저로 설치한 패키지는 전역으로 설치됨
- 프로젝트가 여러개일 경우 문제가 생길 수 있음. (서로 다른 프로젝트가 호환이 안 되는 다른 버전의 패키지 사용 등등)
- 각 프로젝트 별로 독립된 개발 환경을 제공하여 이런 문제 방지
- venv, virtualenv, pipenv, conda 등의 모듈을 사용할 수 있음
파이썬에 내장된 venv를 이용해 가상환경을 만들어보자
# 가상 환경 생성
python -m venv .venv
# Windows에서 터미널이 cmd라면
.venv\Scripts\activate.bat
# Windows에서 터미널이 git bash라면
source .venv/Scripts/activate
이렇게 (.venv)가 앞에 나타나면 가상환경이 제대로 활성화 된 것이다.
shell 닫으면 자연스레 가상환경 탈출, 재진입하려면 .venv 디렉터리 아래에 있는 activate.bat 또 실행시키면 됨
pip freeze > requirements.txt
현재 파이썬 가상 환경에 설치된 패키지들과 그 버전정보를 저장해둠
=> 다른 가상 환경에서 pip install -r requirements.txt 명령어를 통해 동일한 환경을 구축할 수 있게
STEP2. 장고 프레임워크 설치 및 프로젝트 생성
pip install Django
django-admin startproject seminar .
장고를 설치하고,
새로운 Django 프로젝트를 . (현재 디렉터리)에 생성한다
pip install django-environ djangorestframework
환경변수를 사용해 Django 설정 관리할 수 있게 해주는 django-environ 유틸리티 설치
Django 프레임워크 확장하여 RESTful API 구축하기 위한 도구인 djangorestframework 설치
STEP3. .env 파일 생성 및 .gitignore 설정
최상단 디렉토리에 .env 파일과 .gitignore 파일을 생성함
보안을 위해 seminar/settings.py 파일 안의 SECRET_KEY를 .env 파일로 옮김
settings.py 파일에서 SECRET_KEY 를 .env 파일에서 가져오도록 코드를 수정함
from pathlib import Path
import os, environ
# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent
env = environ.Env(
DEBUG=(bool, True)
)
environ.Env.read_env(
env_file=os.path.join(BASE_DIR, '.env')
)
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/5.0/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = env('SECRET_KEY')
git으로 관리하지 않을 파일(당연히 .env 포함)을 .gitignore에 명시해준다.
https://www.toptal.com/developers/gitignore/api/django <= 옆 사이트의 내용을 복사하면 됨
STEP4. 로컬에서 API 테스트하기 위한 조건 설정
ALLOWED_HOSTS = ['localhost', '127.0.0.1']
,,,
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES' : (
'rest_framework.permissions.AllowAny',
)
}
허용 호스트에 localhost 를 추가함
Django REST Framework에서 API에 대한 기본 권한을 "모든 요청 허용"으로 세팅함으로써 POST, GET 등의 요청 시 로그인되지 않은 유저도 테스트 가능함
"콤마" 주의해야 함 // 파이썬 문법, 단일 요소 튜플 만들 시 콤마 추가 필요...
cf) 깃헙에 올린 django project를 클론받아와서 사용할때는
- python -m venv .venv 로 venv 활성화
- .venv\Scripts\activate.bat 로 가상환경 진입
- pip install -r requirements.txt 로 설치환경 복원
- .env 파일 어디서 구하거나 해서 복사해옴
- python manage.py makemigrations / python manage.py migrate 해서 db migration 진행
- python manage.py runserver 하면 이제 됨~~
'web > django' 카테고리의 다른 글
Django SWAGGER 이용해 API 명세 작성하기 (0) | 2024.05.08 |
---|---|
Django serializer 활용하기 (0) | 2024.05.08 |
Django View 설계하기 (0) | 2024.05.07 |
Django model 생성하고 설정하기 (0) | 2024.05.07 |
Django 프로젝트의 구조 및 관련 개념 정리 (0) | 2024.05.07 |