장고 입문 가이드: 첫 번째 웹사이트 빠르게 구축하기

2/20/2026
4 min read

장고 입문 가이드: 첫 번째 웹사이트 빠르게 구축하기

장고는 복잡한 웹 애플리케이션과 웹사이트를 구축하는 데 적합한 효율적이고 강력한 Python 웹 개발 프레임워크입니다. 이 프레임워크는 많은 유용한 기능을 통합하여 개발자가 견고한 애플리케이션을 빠르게 구축할 수 있도록 합니다. 당신이 초보자이든 어느 정도 경험이 있는 개발자이든, 장고는 많은 편리함을 제공합니다. 본문에서는 구체적인 단계를 통해 장고를 사용하여 첫 번째 웹사이트를 구축하는 방법을 가르쳐 드리겠습니다.

1. 환경 준비

시작하기 전에 개발 환경에 Python과 pip(파이썬의 패키지 관리 도구)가 설치되어 있는지 확인하세요. 장고는 Python 3.6 이상 버전을 필요로 합니다.

Python 및 pip 설치

Python 공식 웹사이트에서 운영 체제에 맞는 버전을 다운로드하여 설치할 수 있습니다. 설치 후, 명령줄에서 Python과 pip의 버전을 확인하세요:

python --version
pip --version

장고 설치

pip를 통해 장고를 설치하는 것은 매우 간단합니다. 명령줄에 다음 명령을 입력하세요:

pip install django

설치가 완료된 후, 명령줄에서 장고의 버전을 확인할 수 있는지 확인하세요:

django-admin --version

2. 장고 프로젝트 생성

장고를 설치한 후, 새로운 프로젝트를 생성할 수 있습니다. 프로젝트는 장고의 기본 구조로, 애플리케이션과 설정을 포함합니다.

프로젝트 생성

프로젝트를 생성하고자 하는 디렉토리에서 다음 명령을 실행하세요:

django-admin startproject myproject

이 명령은 myproject라는 이름의 새 디렉토리를 생성하며, 기본 파일 및 디렉토리 구조를 포함합니다.

디렉토리 구조

다음과 같은 디렉토리 구조를 보게 될 것입니다:

myproject/
    manage.py
    myproject/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py
  • manage.py: 장고의 관리 도구로, 프로젝트를 관리하는 데 사용됩니다.
  • settings.py: 프로젝트의 설정 파일로, 여기서 데이터베이스, 정적 파일 등을 설정할 수 있습니다.
  • urls.py: 프로젝트의 URL 라우팅 설정입니다.
  • asgi.pywsgi.py: 배포 시의 인터페이스 설정입니다.

3. 개발 서버 실행

프로젝트 디렉토리에서 다음 명령을 사용하여 장고의 개발 서버를 시작하세요:

python manage.py runserver

모든 것이 정상이라면, 브라우저에서 http://127.0.0.1:8000/에 접속하여 장고의 환영 페이지를 볼 수 있어야 합니다.

4. 첫 번째 애플리케이션 생성

장고 프로젝트는 여러 개의 애플리케이션으로 구성될 수 있습니다. 각 애플리케이션은 특정 기능 모듈을 담당합니다.

애플리케이션 생성

myproject 디렉토리에서 다음 명령을 실행하여 myapp이라는 이름의 애플리케이션을 생성하세요:

python manage.py startapp myapp

이 명령은 프로젝트 디렉토리 아래에 새로운 myapp 디렉토리를 생성하며, 구조는 다음과 유사합니다:

myapp/
    migrations/
    __init__.py
    admin.py
    apps.py
    models.py
    tests.py
    views.py

settings.py 수정

settings.py 파일에서 애플리케이션을 등록합니다. INSTALLED_APPS 목록을 찾아 'myapp',을 추가합니다:

INSTALLED_APPS = [
    ...
    'myapp',
]

5. 뷰와 템플릿 생성하기

Django는 MVC 패턴을 채택하고 있으며, 뷰와 템플릿은 서로 보완적입니다.

뷰 생성하기

myapp/views.py 파일에 간단한 뷰를 정의합니다:

from django.http import HttpResponse

def home(request):
    return HttpResponse("Hello, Django!")

URL 설정하기

myapp 디렉토리 아래에 urls.py라는 파일을 생성하고 URL 라우팅을 설정합니다:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name='home'),
]

그런 다음 프로젝트의 urls.py 파일에서 myapp의 URL을 가져옵니다:

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('myapp.urls')),
]

6. 페이지 접근하기

이제 개발 서버를 다시 시작하고 http://127.0.0.1:8000/에 접근할 수 있습니다. "Hello, Django!" 메시지를 볼 수 있어야 합니다.

7. 데이터베이스 지원 추가하기

Django는 기본적으로 SQLite 데이터베이스를 사용하지만 MySQL, PostgreSQL 등 다른 데이터베이스도 지원합니다. 아래는 SQLite를 설정하는 방법입니다.

데이터베이스 설정

settings.py에서 DATABASES 섹션을 찾아 기본 설정은 다음과 같습니다:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / "db.sqlite3",
    }
}

필요에 따라 다른 데이터베이스로 수정할 수 있습니다. 예를 들어 PostgreSQL을 사용할 경우:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'yourdbname',
        'USER': 'yourusername',
        'PASSWORD': 'yourpassword',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

상응하는 데이터베이스 드라이버를 설치해야 합니다. 예를 들어 PostgreSQL의 경우 psycopg2를 설치해야 합니다.

pip install psycopg2

8. 모델 생성 및 데이터베이스 마이그레이션

다음으로 간단한 모델을 정의하고 이를 데이터베이스로 마이그레이션합니다.

모델 생성하기

myapp/models.py 파일에 다음 코드를 추가하여 간단한 모델을 정의합니다:```python from django.db import models

class Item(models.Model): name = models.CharField(max_length=100) description = models.TextField()

def __str__(self):
    return self.name

### 마이그레이션 생성

다음 명령어를 실행하여 데이터베이스 마이그레이션 파일을 생성합니다:

```bash
python manage.py makemigrations

그런 다음, 이러한 마이그레이션을 적용합니다:

python manage.py migrate

9. 관리자 인터페이스 생성

Django는 데이터를 관리하기 위한 강력한 관리자 인터페이스를 제공합니다.

슈퍼유저 생성

다음 명령어를 통해 관리자 계정을 생성합니다:

python manage.py createsuperuser

관리 인터페이스에 모델 추가

myapp/admin.py에서 모델을 등록합니다:

from django.contrib import admin
from .models import Item

admin.site.register(Item)

이제 개발 서버를 다시 실행하고 http://127.0.0.1:8000/admin에 접속하여 생성한 슈퍼유저로 로그인하면 방금 등록한 모델을 볼 수 있습니다.

결론

Django는 강력한 웹 개발 프레임워크로, 빠르게 웹 애플리케이션을 구축하는 데 도움을 줄 수 있습니다. 이 문서에서 설명하는 방법을 통해 간단한 Django 웹사이트를 쉽게 구축하고 기능을 확장할 수 있습니다. Django에 대한 이해가 깊어짐에 따라 사용자 인증, RESTful API, 테스트 등과 같은 더 많은 고급 기능을 탐색할 수 있습니다. 이 입문 가이드가 첫 발을 내딛고 Django 여정을 시작하는 데 도움이 되기를 바랍니다!

Published in Technology

You Might Also Like

iTerm2보다 더 사용하기 좋은 Claude Code 터미널이 탄생했다!Technology

iTerm2보다 더 사용하기 좋은 Claude Code 터미널이 탄생했다!

# iTerm2보다 더 사용하기 좋은 Claude Code 터미널이 탄생했다! 안녕하세요, 저는 Guide입니다. 오늘은 최근 2년 동안 인기가 높았던 몇 가지 "현대 터미널"에 대해 이야기해보겠습니다. 개발자에...

2026년 Top 10 AI 프로그래밍 도구 추천: 개발 효율성을 높이는 최고의 도우미Technology

2026년 Top 10 AI 프로그래밍 도구 추천: 개발 효율성을 높이는 최고의 도우미

# 2026년 Top 10 AI 프로그래밍 도구 추천: 개발 효율성을 높이는 최고의 도우미 인공지능 기술의 급속한 발전과 함께 AI 프로그래밍 도구는 개발자 작업의 중요한 지원 도구로 자리잡고 있습니다. 코드 작성...

GPT-5 사용 방법: 고품질 코드 및 텍스트 생성을 위한 완벽 가이드Technology

GPT-5 사용 방법: 고품질 코드 및 텍스트 생성을 위한 완벽 가이드

# GPT-5 사용 방법: 고품질 코드 및 텍스트 생성을 위한 완벽 가이드 ## 서론 인공지능 기술의 지속적인 발전에 따라, OpenAI가 최근 출시한 GPT-5 모델은 자연어 처리(NLP) 분야에서 중대한 도약...

Gemini AI vs ChatGPT:어느 것이 창작 및 워크플로 최적화에 더 적합한가? 심층 비교 평가Technology

Gemini AI vs ChatGPT:어느 것이 창작 및 워크플로 최적화에 더 적합한가? 심층 비교 평가

# Gemini AI vs ChatGPT:어느 것이 창작 및 워크플로 최적화에 더 적합한가? 심층 비교 평가 ## 서론 인공지능 기술의 급속한 발전과 함께 다양한 AI 도구들이 등장하고 있습니다. 이 경쟁이 치열...

2026년 Top 10 머신러닝 도구 및 자원 추천Technology

2026년 Top 10 머신러닝 도구 및 자원 추천

# 2026년 Top 10 머신러닝 도구 및 자원 추천 인공지능과 데이터 과학의 급속한 발전에 따라, 머신러닝(Machine Learning)은 현대 기술 응용의 중요한 구성 요소가 되었습니다. 본 문서에서는 20...

2026년 Top 10 대모델(LLM) 학습 자원 추천Technology

2026년 Top 10 대모델(LLM) 학습 자원 추천

# 2026년 Top 10 대모델(LLM) 학습 자원 추천 인공지능(AI) 기술의 빠른 발전과 함께, 특히 대모델(LLM)과 에이전틱 AI(Agentic AI) 분야에서 이러한 기술을 효과적으로 배우고 이해하는 방...