본문 바로가기
Backend/Django

[Django] 환경별 패키지 관리

by keyhong-DE 2023. 12. 24.

requirements

base.txt

django 웹 프레임워크
django-environ Django 애플리케이션에 대한 환경변수 구성 가능
djangorestframework Django로 웹 API를 구축하기 위한 툴킷
django-cors-headers Cross-origin-resource sharing course headers(교차 출처 리소스 공유 코스 헤더를 응답에 추가)
이를 통해 다른 출처에서 Django 애플리케이션에 대한 요청을 브라우저 안에서 허용한다.
django-filter Django Rest 프레임워크에 대한 필터링 지원
django-autoslug Django 모델에 자동화된 슬러그 필드를 추가하는 패키지
django-countries 모든 최상위 국가 데이터를 포함하는 model과 fixture를 제공한다.
django-phonenumber-field Django 모델의 국제 전화 번호 필드
phonenumbers 구글의 국제번호를 파싱하고, 저장하고, 평가(validating)하는 공통 라이브러리
drf-yasg Django Rest 프레임워크용 real swagger 또는 OpenAI 2.0 스키마를 자동으로 생성해준다.
Pillow Python 이미징 라이브러리
argon2-cffi Python을 통해 argon2를 이용해 안전한 비밀번호 해싱을 제공.
Django 문서에 따르면 비밀번호 해싱 경쟁 패널에는 즉시 argon2 사용을 권장한다. Django가 지원하는 다른 알고리즘이 아니다.
pytz 플랫폼 간 정확한 시간대 계산이 가능하다.
django-taggit 간단한 태깅을 위해 재사용 가능한 django 애플리케이션
django==4.1.7
django-environ==0.10.0
djangorestframework==3.14.0
django-cors-headers==3.14.0
django-filter==22.1 
django-autoslug==1.9.8
django-countries==7.5.1
django-phonenumber-field==7.0.2
phonenumbers==8.13.7
drf-yasg==1.21.5
Pillow==10.1.0
argon2-cffi==21.3.0
pytz==2022.7.1
django-taggit==3.1.0

local.txt

psycopg2-binary python postgres database adapter
flake8 PEP8과 파이썬 코드 품질을 체킹
black 파이썬 코드 포맷터
isort python import를 알파벳순으로 정렬하고 섹션, 유형별로 자동 구분하고 로컬 텍스트 파일로 저장한다.
-r base.txt

psycopg2-binary==2.9.9

flake8==6.0.0
black==23.1.0
isort==5.12.0

설치 커맨드

$ pip install --upgrade pip

$ pip install -r requirements/local.txt

Django 프로젝트 생성

# 현재 경로(.)에 Django 프로젝트 생성 
$ django-admin startproject authors_api .