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

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

📝
Technology

Claude Code Buddy 수정 가이드: 어떻게 반짝이는 전설급 애완동물을 얻을 수 있을까

Claude Code Buddy 수정 가이드: 어떻게 반짝이는 전설급 애완동물을 얻을 수 있을까 2026년 4월 1일, Anthropic은 Claude Code 2.1.89 버전에서 조용히 이스터 에그 기능인 /bu...

Obsidian이 Defuddle을 출시하여 Obsidian Web Clipper를 새로운 차원으로 끌어올리다Technology

Obsidian이 Defuddle을 출시하여 Obsidian Web Clipper를 새로운 차원으로 끌어올리다

Obsidian이 Defuddle을 출시하여 Obsidian Web Clipper를 새로운 차원으로 끌어올리다 저는 Obsidian의 핵심 이념인 로컬 우선, 모든 것이 파일이라는 점, 그리고 단순한 Markdow...

OpenAI가 갑자기 발표한 '삼합일': 브라우저 + 프로그래밍 + ChatGPT 통합, 내부에서 지난 1년이 잘못되었다고 인정하다Technology

OpenAI가 갑자기 발표한 '삼합일': 브라우저 + 프로그래밍 + ChatGPT 통합, 내부에서 지난 1년이 잘못되었다고 인정하다

OpenAI가 갑자기 발표한 '삼합일': 브라우저 + 프로그래밍 + ChatGPT 통합, 내부에서 지난 1년이 잘못되었다고 인정하다 2026년 3월 19일 심야, OpenAI 본사에서 내부 메모가 유출되었고, 《월...

2026, 더 이상 스스로를 '자율'하게 강요하지 마세요! 이 8가지 작은 일을 잘하면 건강이 자연스럽게 찾아옵니다Health

2026, 더 이상 스스로를 '자율'하게 강요하지 마세요! 이 8가지 작은 일을 잘하면 건강이 자연스럽게 찾아옵니다

2026, 더 이상 스스로를 '자율'하게 강요하지 마세요! 이 8가지 작은 일을 잘하면 건강이 자연스럽게 찾아옵니다 새로운 한 해가 시작되었습니다. 작년에 세운 목표는 달성하셨나요? 매년 '의욕이 넘치'고 '포기하...

노력해도 살이 빠지지 않는 엄마들, 여기서 모두 실패한다Health

노력해도 살이 빠지지 않는 엄마들, 여기서 모두 실패한다

노력해도 살이 빠지지 않는 엄마들, 여기서 모두 실패한다 3월이 이미 반이 지났습니다. 당신의 다이어트 계획은 어떻게 되어가고 있나요? 살이 빠졌나요? 얼마나 빠졌나요? 나의 다이어트 경험 2월 말에 다이어트를 ...

📝
Technology

AI 브라우저 24시간 안정적 운영 가이드

AI 브라우저 24시간 안정적 운영 가이드 본 튜토리얼은 안정적이고 장기적으로 운영되는 AI 브라우저 환경을 구축하는 방법을 소개합니다. 적합한 용도 AI 에이전트 자동화 브라우징 웹 자동화 AI 어시스턴트 자동 테...