
Django는 Python 기반의 고급 웹 프레임워크로, 빠르고 안전하며 확장성 높은 웹 애플리케이션을 만들 수 있도록 도와줍니다. 하지만 많은 초보 개발자들이 Django 설치 과정에서 어려움을 겪습니다. 이 글에서는 실무에서 사용하는 정석적인 Django 프로젝트 세팅 방법을 소개하고, 처음부터 운영 가능한 개발 환경을 구성하는 데 필요한 모든 단계를 상세히 안내합니다.
1. 가상환경 구성의 중요성
Django 설치는 반드시 가상환경을 사용해야 합니다. 가상환경은 프로젝트마다 독립된 파이썬 패키지 구성을 가능하게 해주며, 충돌 방지와 배포 용이성 측면에서 필수적인 도구입니다.
# 가상환경 생성
python -m venv venv
# 가상환경 활성화
# Windows
venv\Scripts\activate
# macOS / Linux
source venv/bin/activate
2. Django 설치
Django는 pip를 통해 설치할 수 있으며, 공식 PyPI 저장소에서 최신 버전을 가져옵니다.
pip install django
설치 완료 후, 버전 확인으로 정상 설치 여부를 확인합니다.
python -m django --version
3. Django 프로젝트 생성
기본 프로젝트를 다음과 같이 생성합니다.
django-admin startproject config .
점(.)을 붙이는 이유는 현재 디렉토리에서 시작하기 위함이며, 루트 디렉토리의 중복 방지를 위해 권장되는 방식입니다.
4. 개발 서버 실행
python manage.py runserver
http://127.0.0.1:8000 접속 시, Django의 환영 메시지가 보이면 설치 성공입니다.
5. 프로젝트 디렉토리 구조 이해
| 디렉토리/파일 | 설명 |
|---|---|
| config/ | 설정 파일 포함 (settings.py, urls.py 등) |
| manage.py | Django 프로젝트의 엔트리 포인트 |
| venv/ | 가상환경 패키지 디렉토리 |
| __init__.py | Python 패키지임을 알려주는 초기화 파일 |
6. 로컬 개발을 위한 필수 설정
- DEBUG = True (개발 환경에서만)
- ALLOWED_HOSTS = ['*'] 또는 로컬 도메인 등록
- Time Zone:
'Asia/Seoul' - Static/Media 파일 경로 설정
7. App 생성 및 등록
하나의 프로젝트는 여러 App으로 구성될 수 있으며, App은 기능 단위의 독립 모듈입니다.
python manage.py startapp main
main App을 config/settings.py에 등록
INSTALLED_APPS = [
...
'main',
]
8. 초기 마이그레이션
Django는 모델(Model) 기반으로 DB를 자동 생성합니다. 프로젝트 초기에는 반드시 아래 명령어를 실행합니다.
python manage.py makemigrations
python manage.py migrate
9. 관리자 계정 생성
python manage.py createsuperuser
생성한 계정으로 /admin 페이지에 접속해 기본 관리자 UI를 확인할 수 있습니다.
10. Django 환경세팅 체크리스트
| 설정 항목 | 기본값 | 개발 추천값 |
|---|---|---|
| DEBUG | False | True |
| ALLOWED_HOSTS | [] | ['localhost', '127.0.0.1'] |
| LANGUAGE_CODE | 'en-us' | 'ko-kr' |
| TIME_ZONE | 'UTC' | 'Asia/Seoul' |
| DATABASE | SQLite | PostgreSQL (운영환경) |
11. 장고 설정 확장 팁
- 환경 변수(.env)와
python-decouple로 설정 분리 - settings.py를 base/dev/prod로 분리하여 운영환경 대응
- 디버깅 도구
django-debug-toolbar설치 - 정적 파일:
STATICFILES_DIRS와STATIC_ROOT이해 필수
12. 마무리: 탄탄한 세팅이 안정된 프로젝트의 시작
Django를 단순히 설치하고 실행하는 것만으로는 실전 개발에 적합하지 않습니다. 초기에 환경 구성을 표준화하고 체계화하면, 유지보수성과 협업 효율성이 비약적으로 증가합니다. 이 튜토리얼을 따라가며 하나하나 설정해보면 Django 기반 웹 애플리케이션 개발의 첫걸음을 가장 견고하게 디딜 수 있습니다.
참고 출처
- Django 공식 문서: https://docs.djangoproject.com/en/stable/
- Real Python - Django Series: https://realpython.com/tutorials/django/
- Django for Professionals - William S. Vincent
'Artificial Intelligence > 60. Python' 카테고리의 다른 글
| [PYTHON] FastAPI 완전 정복 : 초고속 Python 웹 프레임워크의 모든 것 (0) | 2025.07.21 |
|---|---|
| [PYTHON] Django vs Flask : 당신에게 맞는 웹 프레임워크는? (0) | 2025.07.21 |
| [PYTHON] Django 튜토리얼 : 웹 애플리케이션 개발의 모든 것 (0) | 2025.07.21 |
| [PYTHON] Dictionary 완전 정복 : 구조 활용 최적화까지 (0) | 2025.07.21 |
| [PYTHON] 리스트의 모든 것: 기초부터 고급 활용까지 완전 정복 (0) | 2025.07.21 |