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 공식 문서나 온라인 자료를 참고하여 더 다양하고 복잡한 애플리케이션을 개발해보세요.