-
[4월 4주차-4/21]🍔 Django로 햄버거 검색 웹 만들기Why Not SW CAMP 5기/수업 기록 2025. 4. 21. 14:18
오늘은 Django를 활용해 간단한 햄버거 검색 웹사이트를 만드는 방법을 배웠습니다. PyCharm과 Django를 설치하는 것부터 시작해서, 모델 작성, admin 설정, 검색 기능까지 구현해보았어요. 하나씩 정리해볼게요!
✅ 1. 개발 환경 세팅
🛠 PyCharm 설치
Python 기반 웹 프레임워크인 Django 개발에 최적화된 PyCharm을 설치합니다.
🧩 Django 설치
터미널에서 다음 명령어로 Django를 설치합니다.
pip install 'django<5'
Django 5버전이 아직 호환이 안 되는 패키지가 있을 수 있어 <5로 지정해 설치합니다.
✅ 2. Django 프로젝트 시작
📂 프로젝트 생성
django-admin startproject config .
현재 디렉토리에 config라는 이름으로 Django 프로젝트를 생성합니다.
🍔 앱 생성
python manage.py startapp burgers
햄버거 데이터를 관리할 burgers 앱을 생성합니다.
✅ 3. 모델 클래스 작성
burgers/models.py에 햄버거 정보를 담을 Burger 모델을 생성합니다.
from django.db import models class Burger(models.Model): name = models.CharField(max_length=20) price = models.IntegerField(default=0) calories = models.IntegerField(default=0) def __str__(self): return self.name
- name: 버거 이름
- price: 가격
- calories: 칼로리
💾 마이그레이션
python manage.py makemigrations burgers python manage.py migrate
✅ 4. Django Admin에서 버거 관리하기
👤 슈퍼유저 생성
python manage.py createsuperuser
웹 관리자 페이지에서 데이터를 쉽게 추가하고 확인할 수 있도록 슈퍼유저를 생성합니다.
🧾 Admin 등록
burgers/admin.py 파일에 모델을 등록합니다.
from django.contrib import admin from burgers.models import Burger @admin.register(Burger) class BurgerAdmin(admin.ModelAdmin): pass
✅ 5. View & URL 연결하기
config/views.py에 다음 뷰들을 작성합니다.
from django.shortcuts import render from burgers.models import Burger def main(request): return render(request, "main.html") def burger_list(request): burgers = Burger.objects.all() context = { "burgers": burgers } return render(request, "burger_list.html", context) def burger_search(request): keyword = request.GET.get("keyword") if keyword: burgers = Burger.objects.filter(name__contains=keyword) else: burgers = Burger.objects.none() context = { "burgers": burgers } return render(request, "burger_search.html", context)
config/urls.py도 수정합니다.
from django.contrib import admin from django.urls import path from config.views import main, burger_list, burger_search urlpatterns = [ path('admin/', admin.site.urls), path("", main), path("burgers/", burger_list), path("search/", burger_search), ]
✅ 6. 템플릿 작성
templates/burger_search.html에 검색 화면을 구성합니다.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>버거 검색</title> </head> <body> <h1>🍔 pyburger의 햄버거 검색 화면입니다</h1> <div> <form method="GET"> <input type="text" name="keyword" placeholder="버거 이름 검색"> <button type="submit">검색</button> </form> </div> <h2>검색 결과</h2> {% for burger in burgers %} <div> {{ burger.name }} (가격: {{ burger.price }}원, 칼로리: {{ burger.calories }}kcal) </div> {% empty %} <p>검색 결과가 없습니다.</p> {% endfor %} </body> </html>
🎉 마무리
오늘은 Django의 기본 구조를 익히고, Admin 페이지 활용, 데이터 모델 정의, View/URL 연결, 그리고 검색 기능까지 함께 구현해보았습니다. 작은 프로젝트지만, 웹 개발의 전체 흐름을 이해하는 데 큰 도움이 되었어요!
'Why Not SW CAMP 5기 > 수업 기록' 카테고리의 다른 글
[4월 4주차-4/24]RubiBlog: Django + Amazon Lightsail 배포기 (0) 2025.04.24 [4월 4주차-4/22]📝 Django로 블로그 만들기 – 글/댓글/썸네일까지 (0) 2025.04.22 [4월 3주차-4/15-16]Node.js & AWS를 활용한 이미지 갤러리 웹사이트 구축기 (0) 2025.04.16 [4월 3주차-4/14]AWS 실무 핵심 개념 총정리 💡 | DynamoDB, Lambda, SDK, CLI 완전 이해 (1) 2025.04.14 [4월 2주차-4/11]AWS 기본 서비스(DNS(Route 53), IAM, CloudWatch) 실습 정리 (0) 2025.04.14