Django는 파이썬으로 작성된 고급 웹 프레임워크로, 웹 애플리케이션 개발을 빠르고 쉽게 할 수 있게 도와줍니다. 본 글에서는 Django를 사용하여 개인 포트폴리오 웹사이트를 만드는 방법을 단계별로 알아보겠습니다.
1. Django란?
Django는 “모든 것을 포함하는” 프레임워크로서 다음과 같은 장점이 있습니다:
- 빠른 개발
- 보안 내장
- 재사용 가능한 코드
- 풍부한 생태계와 커뮤니티
2. 프로젝트 설정
2.1. Django 설치
우선, Django를 설치해야 합니다. 다음 명령어를 사용하세요:
pip install Django
2.2. 새로운 Django 프로젝트 만들기
Django 프로젝트를 생성하기 위해 다음 명령어를 입력합니다:
django-admin startproject portfolio
생성된 portfolio
폴더로 이동합니다:
cd portfolio
2.3. 개발 서버 시작하기
다음 명령어로 개발 서버를 시작합니다:
python manage.py runserver
이제 웹 브라우저에서 http://127.0.0.1:8000/
에 접속하면 Django의 환영 페이지를 볼 수 있습니다.
3. 앱 생성
Django 프로젝트 내에서 기능별로 앱을 생성합니다. 포트폴리오 웹사이트를 위해 새로운 앱을 생성해 보겠습니다:
python manage.py startapp myportfolio
생성된 myportfolio
폴더에는 다양한 파일들이 포함되어 있습니다. 주로 수정해야 할 파일은 views.py
와 urls.py
입니다.
4. 앱 등록
myportfolio
앱을 프로젝트에 등록합니다. settings.py
파일을 열어 INSTALLED_APPS
항목에 'myportfolio'
를 추가합니다:
INSTALLED_APPS = [
...
'myportfolio',
]
5. URL 매핑
이제 이 앱의 URL을 매핑해보겠습니다. myportfolio/urls.py
파일을 생성하고 다음과 같이 작성합니다:
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
]
views.py
에서 home
뷰를 추가합니다:
from django.shortcuts import render
def home(request):
return render(request, 'myportfolio/home.html')
6. 템플릿 생성
myportfolio
폴더 내에 templates/myportfolio
폴더를 생성하고 그 안에 home.html
파일을 만듭니다. 아래와 같이 작성해보세요:
내 포트폴리오
안녕하세요, 저는 [이름]입니다.
제 포트폴리오에 오신 것을 환영합니다!
7. 정적 파일 및 CSS
포트폴리오 웹사이트에 스타일을 추가하기 위해 CSS 파일을 생성합니다. myportfolio/static/myportfolio/style.css
위치에 생성하고 다음과 같이 작성합니다:
body {
font-family: Arial, sans-serif;
background-color: #f9f9f9;
}
h1 {
color: #333;
}
p {
font-size: 18px;
}
이제 home.html
에서 CSS 파일을 불러옵니다:
8. 데이터베이스 및 모델 설정
포트폴리오에 프로젝트나 경험을 저장하기 위해 모델을 생성합니다. myportfolio/models.py
에서 다음과 같이 작성하세요:
from django.db import models
class Project(models.Model):
title = models.CharField(max_length=100)
description = models.TextField()
url = models.URLField()
def __str__(self):
return self.title
8.1. 마이그레이션
모델을 생성한 후에는 마이그레이션을 통해 데이터베이스를 업데이트해야 합니다. 다음 명령어를 사용합니다:
python manage.py makemigrations
python manage.py migrate
9. 관리자 페이지 설정
Django의 관리자 페이지를 통해 프로젝트를 쉽게 관리할 수 있습니다. myportfolio/admin.py
에 다음을 추가하세요:
from django.contrib import admin
from .models import Project
admin.site.register(Project)
관리자 계정을 생성하려면:
python manage.py createsuperuser
9.1. 관리자 페이지 접속
서버를 재시작하고 http://127.0.0.1:8000/admin/
에서 로그인하여 프로젝트를 추가해보세요.
10. 프로젝트 표시
views.py
에서 프로젝트를 가져오는 뷰를 만들어야 합니다. 수정된 views.py
는 다음과 같습니다:
from .models import Project
def home(request):
projects = Project.objects.all()
return render(request, 'myportfolio/home.html', {'projects': projects})
이제 home.html
을 수정하여 프로젝트 목록을 표시합니다:
내 프로젝트
{% for project in projects %}
-
{{ project.title }}: {{ project.description }} (링크)
{% endfor %}
11. 배포하기
포트폴리오 웹사이트가 완성되면, 이를 실제 환경에 배포할 차례입니다. Heroku 또는 DigitalOcean과 같은 클라우드 서비스를 이용하여 배포할 수 있습니다.
12. 결론
Django를 이용한 개인 포트폴리오 웹사이트 개발 과정이었습니다. 이 과정을 통해 Django의 기본 개념과 웹 애플리케이션 개발 방법을 이해했기를 바랍니다. 나만의 포트폴리오 웹사이트를 만들어보세요!