[python] Django 프레임워크 사용하기

Django는 Python으로 작성된 웹 프레임워크로, 웹 애플리케이션을 빠르게 개발할 수 있도록 도와줍니다. 이번 포스트에서는 Django 프레임워크를 사용하여 간단한 웹 애플리케이션을 만드는 방법에 대해 알아보겠습니다.

준비 사항

Django를 사용하기 위해 파이썬 3 버전과 pip를 먼저 설치해야 합니다. 다음 명령어를 사용하여 설치할 수 있습니다:

$ sudo apt-get update
$ sudo apt-get install python3
$ sudo apt-get install python3-pip

Django를 설치하려면 다음 명령어를 실행합니다:

$ pip3 install django

프로젝트 시작하기

Django 프로젝트를 생성하기 위해 다음 명령어를 실행합니다:

$ django-admin startproject myproject
$ cd myproject

myproject는 프로젝트의 이름입니다. 이 명령어를 실행하면 프로젝트를 위한 디렉토리가 생성됩니다.

애플리케이션 생성하기

프로젝트 내에서 여러 개의 애플리케이션을 만들 수 있습니다. 애플리케이션은 프로젝트의 기능별로 구분되어 관리됩니다. 다음 명령어를 사용하여 애플리케이션을 생성합니다:

$ python3 manage.py startapp myapp

myapp은 애플리케이션의 이름입니다.

모델 정의하기

Django는 MVC(Model-View-Controller) 패턴을 따르고 있습니다. 애플리케이션의 데이터 모델은 models.py 파일에서 정의됩니다. 예를 들어, 사용자 모델을 정의하려면 다음과 같은 코드를 작성합니다:

from django.db import models

class User(models.Model):
    name = models.CharField(max_length=100)
    email = models.EmailField(unique=True)
    created_at = models.DateTimeField(auto_now_add=True)

위 코드에서 User 모델은 이름(name), 이메일(email), 생성일자(created_at) 등의 필드를 가지고 있습니다.

데이터베이스 마이그레이션

모델을 변경하거나 새로운 모델을 추가한 후에는 데이터베이스에 반영해야 합니다. 마이그레이션은 데이터베이스의 스키마를 업데이트하는 작업을 의미합니다. 다음 명령어를 사용하여 마이그레이션을 수행합니다:

$ python3 manage.py makemigrations
$ python3 manage.py migrate

뷰 생성하기

뷰는 사용자의 요청에 대한 응답을 처리하는 역할을 합니다. 뷰 함수는 views.py 파일에서 정의됩니다. 예를 들어, 사용자 목록을 보여주는 뷰를 작성하려면 다음과 같은 코드를 작성합니다:

from django.shortcuts import render
from .models import User

def user_list(request):
    users = User.objects.all()
    return render(request, 'user_list.html', {'users': users})

위 코드에서 user_list 함수는 User 모델의 모든 사용자를 조회하고, 이를 user_list.html 템플릿에 전달합니다.

URL 매핑하기

요청 URL과 뷰 함수를 매핑하기 위해 urls.py 파일을 사용합니다. 다음과 같이 코드를 작성하여 URL 매핑을 설정합니다:

from django.urls import path
from .views import user_list

urlpatterns = [
    path('users/', user_list, name='user_list'),
]

위 코드에서 /users/ URL에 대한 요청이 user_list 뷰 함수로 전달됩니다.

템플릿 작성하기

웹 페이지의 내용을 구성하는 HTML 코드는 템플릿 파일에서 작성합니다. templates 디렉토리 내에 템플릿 파일을 생성하고, 필요한 내용을 작성합니다. 예를 들어, user_list.html 파일에는 다음과 같은 코드를 작성할 수 있습니다:


<!DOCTYPE html>
<html>
<head>
    <title>User List</title>
</head>
<body>
    <h1>User List</h1>
    <ul>
        {% for user in users %}
            <li>{{ user.name }}</li>
        {% endfor %}
    </ul>
</body>
</html>

위 코드는 사용자 목록을 나열하는 간단한 HTML 코드입니다.

서버 실행하기

모든 설정이 완료되면 다음 명령어를 사용하여 개발 서버를 실행할 수 있습니다:

$ python3 manage.py runserver

서버가 실행된 후 웹 브라우저에서 http://localhost:8000/users/에 접속하여 사용자 목록을 확인할 수 있습니다.

결론

Django를 사용하면 빠르고 효율적으로 웹 애플리케이션을 개발할 수 있습니다. 이번 포스트에서는 Django 프레임워크의 기본적인 사용 방법과 주요 구성 요소에 대해 살펴보았습니다. Django 공식 문서나 온라인 자료를 참고하여 더 다양하고 복잡한 애플리케이션을 개발해보세요.

참고 자료