DJango 서버개발, 개인 포트폴리오 웹사이트 만들기

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.pyurls.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의 기본 개념과 웹 애플리케이션 개발 방법을 이해했기를 바랍니다. 나만의 포트폴리오 웹사이트를 만들어보세요!

© 2023 내 포트폴리오