Django는 Python 기반의 강력하고 사용이 편리한 웹 프레임워크로, 웹 개발에서 빠르고 효율적인 애플리케이션 제작을 가능하게 합니다. Django는 기본적으로 “배터리가 포함된 프레임워크(Batteries Included)”라는 슬로건처럼, 웹 애플리케이션 개발에 필요한 대부분의 기능을 내장하고 있어 빠른 프로토타이핑과 확장 가능한 설계가 가능합니다.
이 글에서는 Django의 설치 방법부터 프로젝트를 생성하고, 기본 디렉토리 구조를 살펴보는 과정을 단계별로 알아보겠습니다.
목차
- Django 설치 준비
- Django 설치하기
- Django 프로젝트 생성
- Django의 기본 구조 이해
- 4.1
manage.py
- 4.2 프로젝트 디렉토리 구성
- 4.3 주요 파일 설명
- 4.1
- 개발 서버 실행 및 확인
- 마무리
1. Django 설치 준비
(1) Python 설치
Django는 Python으로 작성된 웹 프레임워크이므로, Python 3.8 이상이 필요합니다.
먼저 Python이 설치되어 있는지 확인하세요.
<bash>
python --version
만약 설치되어 있지 않다면 Python 공식 웹사이트에서 다운로드 및 설치를 진행합니다.
(2) 가상환경 생성
가상환경(Virtual Environment)을 사용하면 프로젝트별로 독립적인 Python 환경을 구성할 수 있습니다. 이는 패키지 충돌을 방지하고, 효율적인 프로젝트 관리를 가능하게 합니다.
<bash>
# 가상환경 생성
python -m venv myenv
# 가상환경 활성화
source myenv/bin/activate # (Mac/Linux)
myenv\Scripts\activate # (Windows)
# 가상환경 비활성화 (필요 시)
deactivate
2. Django 설치하기
가상환경이 활성화된 상태에서 pip를 이용해 Django를 설치합니다.
<bash>
pip install django
설치가 완료되면, Django가 정상적으로 설치되었는지 확인합니다.
<bash>
django-admin --version
명령어를 실행했을 때 Django 버전이 출력되면 설치가 완료된 것입니다.
3. Django 프로젝트 생성
(1) Django 프로젝트 생성
django-admin
명령어를 사용하여 새로운 프로젝트를 생성합니다. 아래 명령어를 실행하면 myproject
라는 이름의 Django 프로젝트가 생성됩니다.
<bash>
django-admin startproject myproject
(2) 생성된 디렉토리 구조
명령어 실행 후 생성된 디렉토리는 다음과 같은 구조를 가집니다.
<text>
myproject/
manage.py
myproject/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
4. Django의 기본 구조 이해
Django는 웹 애플리케이션 개발을 위한 체계적인 구조를 제공합니다. 주요 디렉토리와 파일의 역할을 이해하는 것은 Django를 사용하는 데 매우 중요합니다.
4.1 manage.py
- Django 프로젝트를 관리하기 위한 명령어 도구입니다.
- 서버 실행, 마이그레이션, 앱 생성 등의 작업을 수행할 때 사용됩니다.
4.2 프로젝트 디렉토리 구성
myproject/
는 Django 프로젝트의 최상위 디렉토리로, 내부에는 다음과 같은 파일들이 포함됩니다.
(1) settings.py
- Django 프로젝트의 설정 파일입니다.
- 데이터베이스 설정, 앱 등록, 정적 파일 경로, 보안 설정 등이 포함됩니다.
(2) urls.py
- URL 라우팅을 정의하는 파일입니다.
- 사용자 요청(URL)에 따라 어떤 뷰(View)가 호출될지 결정합니다.
(3) asgi.py
- Django 애플리케이션을 **ASGI(Asynchronous Server Gateway Interface)**를 통해 실행하기 위한 파일입니다.
- 비동기 서버와 통신을 지원합니다.
(4) wsgi.py
- Django 애플리케이션을 **WSGI(Web Server Gateway Interface)**를 통해 실행하기 위한 파일입니다.
- 일반적으로 배포 환경에서 사용됩니다.
(5) __init__.py
- Python 패키지로 인식되도록 하는 파일입니다(비어 있는 경우가 많습니다).
4.3 주요 파일 설명
(1) settings.py
의 주요 설정 항목
- INSTALLED_APPS: Django 프로젝트에 설치된 앱 목록.
- DATABASES: 데이터베이스 연결 설정(SQLITE3, PostgreSQL, MySQL 등).
- MIDDLEWARE: 요청 및 응답 처리 과정에서 실행되는 미들웨어 설정.
(2) urls.py
예제
URL 경로를 매핑하는 기본 코드 예제는 다음과 같습니다.
<python>
from django.contrib import admin
from django.urls import path
urlpatterns = [
path('admin/', admin.site.urls), # 관리자 페이지 경로
]
5. 개발 서버 실행 및 확인
(1) 개발 서버 실행
Django는 기본적으로 로컬 개발 환경에서 사용할 수 있는 서버를 제공합니다. 아래 명령어를 실행하면 서버가 실행됩니다.
<bash>
python manage.py runserver
(2) 로컬 서버 확인
명령어 실행 후 출력된 메시지를 보면 http://127.0.0.1:8000/
과 같은 주소가 표시됩니다. 브라우저에서 이 주소로 이동하면 Django의 기본 시작 페이지를 확인할 수 있습니다.
(3) 서버 종료
개발 서버를 종료하려면 터미널에서 Ctrl + C
를 누르면 됩니다.
6. 마무리
Django는 초기 설정이 간단하면서도 강력한 기능을 제공하는 프레임워크입니다. 이번 글에서 다룬 내용을 통해 Django 프로젝트를 설치하고 기본 구조를 이해하는 데 필요한 모든 단계를 배울 수 있었습니다.
Django의 명확한 프로젝트 구조와 설정 파일은 처음 시작할 때는 약간 복잡해 보일 수 있지만, 익숙해지면 강력한 확장성과 관리의 용이성을 느낄 수 있습니다. 다음 단계로는 Django 앱(App) 생성, 모델 정의, 템플릿 작성 등을 진행하면서 본격적인 웹 애플리케이션 개발을 시작할 수 있습니다.
다음 추천 학습
- Django 앱 생성 및 구조 이해
- 모델 정의 및 데이터베이스 마이그레이션
- 템플릿과 뷰를 사용한 동적 웹 페이지 구현
- Django Admin 기능 활용
Django를 통해 효율적이고 강력한 웹 애플리케이션을 만들어 보세요! “Django는 단순히 빠르게 개발하기 위한 도구가 아니라, 확장성과 유지보수성을 고려한 완성도 높은 웹 프레임워크입니다.”