Chapter 6-1 [블로그] 댓글 기능 만들기 - Static Files 설정과 Bootstrap 적용

2025. 5. 9. 09:59·Django

📘 Chapter 06. [블로그] 댓글 기능 만들기 - Static Files 설정과 Bootstrap 적용


🎯 목표

Django 블로그 프로젝트에서 댓글 기능 구현 전, 정적 파일(Static Files)을 구성하고 Bootstrap을 적용해 기본 레이아웃을 정리합니다.


1️⃣ Static Files란?

💡 Django의 Static Files는 HTML에 연결되는 정적인 CSS, JS, 이미지 등의 자산을 의미합니다.

  • 서버에서 별도 로직 없이 클라이언트로 전달됩니다.
  • STATICFILES_DIRS를 통해 여러 정적 파일 폴더를 등록할 수 있습니다.

2️⃣ 설정 흐름 따라가기

✅ (1) static 디렉토리 생성 및 설정

  1. 프로젝트 최상위에 static/ 폴더 생성
  2. config/settings.py에 설정 추가
# settings.py
STATIC_URL = 'static/'
STATIC_DIR = BASE_DIR / 'static'

STATICFILES_DIRS = [
    STATIC_DIR
]

# 배포용 정적 파일 경로
STATIC_ROOT = BASE_DIR / '.static_root'

📌 STATICFILES_DIRS는 개발 중 정적 파일을 읽어올 디렉토리,
STATIC_ROOT는 collectstatic 명령으로 정적 파일을 모으는 목적입니다.


✅ (2) Bootstrap 파일 다운로드 및 위치 지정

  • Bootstrap 공식 사이트에서 CSS/JS를 다운로드
  • static/css/bootstrap.css, static/js/bootstrap.bundle.js 경로로 저장

👉 Bootstrap 다운로드 링크


✅ (3) base.html에 정적 파일 로드하기

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>블로그 프로젝트</title>
  <link href="{% static 'css/bootstrap.css' %}" rel="stylesheet">
</head>
<body>
  <nav class="d-flex justify-content-between">
    <div>
      <a href="{% url 'blog:list' %}">홈</a>
    </div>
    <div style="text-align: right">
      {% if request.user.is_authenticated %}
        <form action="{% url 'logout' %}" method="POST" style="display: inline">
          {% csrf_token %}
          <button>로그아웃</button>
        </form>
        {{ request.user.username }}
      {% else %}
        <a href="{% url 'signup' %}">회원가입</a>
        <a href="{% url 'login' %}">로그인</a>
      {% endif %}
    </div>
  </nav>

  {% block content %}{% endblock %}

  <footer></footer>
  <script src="{% static 'js/bootstrap.bundle.js' %}"></script>
  {% block js %}{% endblock %}
</body>
</html>

🧩 static 템플릿 태그로 정적 경로를 HTML에 삽입하고, 부트스트랩 클래스(d-flex, justify-content-between 등)를 적용해 UI를 개선합니다.


💡 실무 팁

  • STATICFILES_DIRS에 여러 폴더 등록 가능 (assets/, media/ 등)
  • HTML에서 Bootstrap을 활용하면 빠르게 반응형 UI 구현 가능
  • 배포 시에는 python manage.py collectstatic 명령으로 .static_root에 정리

✅ 요약

  • Django 정적 파일 구조를 세팅하고,
  • Bootstrap을 적용해 base.html을 레이아웃 템플릿으로 구성했습니다.
  • 다음 단계에서는 댓글 입력 폼과 모델을 만들어봅니다!

'Django' 카테고리의 다른 글

Chapter 6-3 댓글 기능 시작하기 - 모델과 관리자 설정  (0) 2025.05.09
Chapter 6-2 Bootstrap 적용으로 블로그 UI 개선하기  (0) 2025.05.09
Chapter 5-8 📌 Mini Project - Admin 권한으로 모든 게시글 수정/삭제 가능하게 만들기  (0) 2025.05.08
Chapter 5-7 📌 Django URL 구조 정리 - include와 앱 네임스페이스로 FBV/CBV 분리하기  (0) 2025.05.08
Chapter 5-6 📌 Django CBV로 블로그 글 삭제 기능 구현하기  (0) 2025.05.08
'Django' 카테고리의 다른 글
  • Chapter 6-3 댓글 기능 시작하기 - 모델과 관리자 설정
  • Chapter 6-2 Bootstrap 적용으로 블로그 UI 개선하기
  • Chapter 5-8 📌 Mini Project - Admin 권한으로 모든 게시글 수정/삭제 가능하게 만들기
  • Chapter 5-7 📌 Django URL 구조 정리 - include와 앱 네임스페이스로 FBV/CBV 분리하기
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (787)
      • Python (32)
      • 프로젝트 (110)
      • 과제 (25)
      • Database (40)
      • 멘토링 (11)
      • 특강 (37)
      • 기술블로그 (41)
      • 기술블로그-Fastapi편 (33)
      • 기술블로그-Django편 (153)
      • 기술블로그-Flask편 (36)
      • AI 분석 (5)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (77)
      • Fastapi (16)
      • 연예 (14)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    life reflection
    chatgpterror
    titaniumcase
    americanlaw
    self-growth
    btsjungkook
    urbantrends
    newpoliticalparty
    youngprofessionals
    remittance
    뷔
    chinanightlife
    btsreunion
    trumpmuskclash
    RM
    gpterror
    basalcellcarcinoma
    homebartrend
    smartphonedurability
    bts
    livebroadcast
    classaction
    btscomeback
    americaparty
    global politics
    travel ban
    college reunions
    hotcoffeecase
    btsdischarge
    lawsuitculture
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
Chapter 6-1 [블로그] 댓글 기능 만들기 - Static Files 설정과 Bootstrap 적용
상단으로

티스토리툴바