4️⃣ Django 템플릿과 정적파일 연동
·
프로젝트
4️⃣ Django 템플릿과 정적파일 연동📌 context_processors 설정의 중요성Django 템플릿에서 {% static 'path/to/file' %} 태그가 정상 작동하려면TEMPLATES 설정의 OPTIONS.context_processors에'django.template.context_processors.static'이 반드시 포함돼야 함누락 시 정적파일 경로가 잘못 생성되어 404 오류 발생 가능📌 템플릿 내 정적 파일 참조법{% load static %} 태그로 static 템플릿 태그 로드 와 같이 사용하드코딩된 경로 사용을 피하고, STATIC_URL 변경에도 유연하게 대응 가능📌 urls.py에서 정적 파일 서빙 설정개발 모드(DEBUG=True)에서는 urls.py에 다..
3️⃣ Static 파일 처리 문제와 해결
·
프로젝트
3️⃣ Static 파일 처리 문제와 해결📌 STATIC_URL과 STATIC_ROOT 개념STATIC_URL: 브라우저에서 정적 파일(예: CSS, JS) 접근 시 사용하는 URL 경로, 보통 /static/STATIC_ROOT: collectstatic 명령어 실행 시 모든 정적 파일이 모여서 저장되는 서버 내 디렉터리 경로📌 BASE_DIR 경로 문제 및 수정법BASE_DIR은 프로젝트 최상위 경로를 정확히 가리켜야 함base.py에서 BASE_DIR = Path(__file__).resolve().parent.parent.parent 처럼 3단계 상위 경로 지정STATIC_ROOT = BASE_DIR / 'staticfiles' 설정으로 정적파일 모을 위치 지정📌 collectstatic 실..
2️⃣ 환경 변수 및 설정 관리
·
프로젝트
2️⃣ 환경 변수 및 설정 관리📌 DJANGO_SETTINGS_MODULE 환경 변수 중요성Django는 실행 시 어떤 설정 파일(settings.py)을 사용할지 환경변수 DJANGO_SETTINGS_MODULE로 결정이 환경변수가 없거나 잘못 지정되면 Django가 기본 설정을 찾지 못해 오류 발생따라서, manage.py, wsgi.py, asgi.py 등에서 반드시 명시해 줘야 함📌 Docker Compose에서 환경변수 설정법docker-compose.yml에서 Django 서비스(예: my-django)에 아래처럼 환경변수 설정 추가environment: - DJANGO_SETTINGS_MODULE=config.settings.prod이렇게 하면 컨테이너 실행 시 올바른 설정 파일을 읽도..
1️⃣ 프로젝트 개요 및 초기 세팅 문제
·
프로젝트
1️⃣ 프로젝트 개요 및 초기 세팅 문제📌 프로젝트 개요Django 웹 애플리케이션과 PostgreSQL 데이터베이스를 Docker 컨테이너 환경에서 연동안정적인 개발 및 배포 환경 구축을 목표로 함📌 Docker와 Django, PostgreSQL 연동Docker Compose를 활용해 Django와 PostgreSQL 컨테이너를 함께 관리PostgreSQL 데이터베이스는 컨테이너 내부에서 ‘django-postgres’라는 데이터베이스 이름으로 생성Django는 PostgreSQL과 연동하도록 settings.py 내 DATABASES 설정 조정📌 초기 환경 문제 및 해결 과정PostgreSQL 버전 불일치로 인한 데이터 디렉토리 호환성 오류 발생Docker 볼륨과 이미지 캐시 문제로 인해 정상..
Chapter 2-9 Django ORM 미니 프로젝트 실습: 북마크 대량 생성과 조건 필터링
·
프로젝트
📘 Django ORM 미니 프로젝트 실습: 북마크 대량 생성과 조건 필터링이 글에서는 Django ORM을 활용한 북마크 목록 페이지 구현을 목표로, 쉘 환경에서 100개의 북마크를 생성하고, ID가 50 이상인 항목만 필터링하여 보여주는 실전 튜토리얼을 다룹니다. 특히 bulk_create와 filter() 메서드의 효율적 사용에 집중하여 DB 작업을 최적화하는 방법을 소개합니다.1️⃣ 미니 프로젝트 개요 📚목표:북마크 100개 생성ID가 50 이상인 항목만 필터링하여 표시활용 기능:Bookmark.objects.create()로 개별 생성bulk_create()로 대량 생성filter(id__gt=50)로 조건 필터링2️⃣ 장고 ORM으로 북마크 생성하기 🔍✅ 기본 설정python manage..
📚 Django 유저 리스트 & 상세 정보 프로젝트 정리
·
프로젝트
📚 Django 유저 리스트 & 상세 정보 프로젝트 정리이번 프로젝트는 Django를 이용하여유저 리스트 페이지유저 상세 정보 페이지를 구현하는 것을 목표로 했습니다.🎯 프로젝트 목표users/ : 전체 유저 리스트 출력 (이름 클릭 시 이동)users// : 개별 유저 상세 정보 출력1️⃣ 파일 구성파일명 설명fake_db.py유저 데이터 (딕셔너리 형태)urls.pyURL 패턴 등록 및 뷰 함수 작성templates/user_list.html유저 리스트를 보여주는 템플릿templates/user_info.html유저 상세 정보를 보여주는 템플릿2️⃣ 주요 코드✅ fake_db.py (유저 데이터베이스)user_db = { 1: {'이름': '머용', '나이': 27, '생일': '1998-0..
📌 Django를 이용한 구구단 웹 페이지 만들기
·
프로젝트
📌 Django를 이용한 구구단 웹 페이지 만들기이번 글에서는 Django를 이용하여 간단한 구구단 웹 페이지를 만드는 과정을 코드와 함께 살펴보겠습니다.🔹 프로젝트 구성urls.py: URL 요청을 처리하고, 적절한 뷰 함수를 연결합니다.gugu.html: Django 템플릿을 사용하여 구구단을 출력하는 페이지입니다.🚩 urls.py 코드 설명from django.contrib import adminfrom django.urls import pathfrom django.shortcuts import render, redirect# 구구단 처리 뷰 함수def gugu(request, num): # num 값이 2 미만이면 '/gugu/2/'로 리다이렉트 if num /', gugu), ..
🚀 Flask 프로젝트 배포 이후 과정 정리 3 일차 (EC2 + Nginx + SSL + 도메인)
·
프로젝트
🚀 Flask 프로젝트 배포 이후 과정 정리 (EC2 + Nginx + SSL + 도메인)백엔드 서버를 AWS EC2에 배포하고, 도메인 연결 및 보안 설정까지 완료한 과정을 정리합니다. 실습용 프로젝트지만 실무와 동일한 방식으로 진행되었습니다.1️⃣ GitHub에서 EC2로 코드 Pullgit pull origin main 명령어로 최신 코드 반영기존 코드와 충돌 방지를 위해 백업 후 진행2️⃣ Gunicorn & Nginx 재설정launch.sh 스크립트로 Gunicorn 서버 실행Nginx 설정 파일 수정하여 포트 및 프록시 재설정sudo vi /etc/nginx/conf.d/form.confFlask는 내부 8000번 포트, Nginx는 443(HTTPS) 포트 사용3️⃣ DuckDNS 도메인 ..