Django 설치 및 기본 구조 이해: 웹 개발의 첫걸음


Django는 Python 기반의 강력하고 사용이 편리한 웹 프레임워크로, 웹 개발에서 빠르고 효율적인 애플리케이션 제작을 가능하게 합니다. Django는 기본적으로 “배터리가 포함된 프레임워크(Batteries Included)”라는 슬로건처럼, 웹 애플리케이션 개발에 필요한 대부분의 기능을 내장하고 있어 빠른 프로토타이핑과 확장 가능한 설계가 가능합니다.

이 글에서는 Django의 설치 방법부터 프로젝트를 생성하고, 기본 디렉토리 구조를 살펴보는 과정을 단계별로 알아보겠습니다.


목차

  1. Django 설치 준비
  2. Django 설치하기
  3. Django 프로젝트 생성
  4. Django의 기본 구조 이해
    • 4.1 manage.py
    • 4.2 프로젝트 디렉토리 구성
    • 4.3 주요 파일 설명
  5. 개발 서버 실행 및 확인
  6. 마무리

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는 단순히 빠르게 개발하기 위한 도구가 아니라, 확장성과 유지보수성을 고려한 완성도 높은 웹 프레임워크입니다.”


2930 Blog에서 더 알아보기

구독을 신청하면 최신 게시물을 이메일로 받아볼 수 있습니다.