ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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 연결, 그리고 검색 기능까지 함께 구현해보았습니다. 작은 프로젝트지만, 웹 개발의 전체 흐름을 이해하는 데 큰 도움이 되었어요!

     

Designed by Tistory.