💡 AI 인사이트

🤖 AI가 여기에 결과를 출력합니다...

댓글 커뮤니티

쿠팡이벤트

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

검색

    [코담] 웹개발·실전 프로젝트·AI까지, 파이썬·장고의 모든것을 담아낸 강의와 개발 노트

    책 목록 웹앱 만들기 | ✅저자: 이유정(박사)

    🔹 간단한 책 제목과 저자를 저장하고, 화면에 예쁘게 출력하는 웹앱

    bookproject/
    ├── manage.py
    ├── bookproject/
    │   └── settings.py, urls.py ...
    └── books/
        ├── models.py
        ├── views.py
        ├── urls.py
        ├── templates/
        │   └── books/
        │       ├── base.html
        │       └── book_list.html
        └── static/
            └── books/
                └── css/
                    └── style.css
    

    모델 정의 – books/models.py

    from django.db import models
    
    class Book(models.Model):
    
    id (자동 생성) title author
    1 데미안 헤르만 헤세
    2 어린 왕자 앙투안 드 생텍쥐페리
    3 삼국지 나관중
    테이블 참고

    뷰 작성 – books/views.py

    from django.shortcuts import render
    from .models import Book
    
    def book_list(request):
    

    ✔️ 의사코드:

    함수 book_list(요청):
        - Book 모델에서 모든 책 데이터를 가져온다 → books 변수에 저장
        - 'books/book_list.html' 템플릿을 사용하여 웹 페이지를 만든다
        - 템플릿에 books 데이터를 함께 전달한다
        - 생성된 웹 페이지를 사용자에게 응답으로 보낸다
    

    앱 URL 설정 – books/urls.py

    from django.urls import path
    from . import views
    
    app_name = "books"
    
    urlpatterns = [
        path(),
    ]
    

    프로젝트 URL 연결 – bookproject/urls.py

    from django.contrib import admin
    from django.urls import path, include
    
    urlpatterns = [
        path("admin/", admin.site.urls),
        path("", include("")),
    ]
    

    템플릿 – books/templates/books/base.html

    <!DOCTYPE html>
    <html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>{% block title %}Book List{% endblock %}</title>
        <link rel="stylesheet" href="{% static 'books/css/style.css' %}">
    </head>
    <body>
        <div class="container">
            {% block content %}
            <!-- 콘텐츠가 들어갈 자리-->
            {% endblock %}
        </div>
    </body>
    </html>
    

    템플릿 – books/templates/books/book_list.html

    <h1>나의 책 목록</h1>
    <ul class="book-list">
        <li>책제목 - 책저자<li>
        <li>책이 없습니다.</li>
    </ul>
    

    ✔️ 의사코드:

    1. 기본 템플릿 'books/base.html'을 상속한다.
    2. 'title' 블록에 "나의 책 목록"이라는 제목을 넣는다.
    3. 'content' 블록 시작:
        - 제목 <h1> 나의 책 목록 을 화면에 출력한다.
        - <ul> 태그로 책 목록을 나열하려고 한다.
        - books 리스트 안의 각 book에 대해 반복한다:
            - <li>에 책 제목(book.title)과 저자(book.author)를 출력한다. 
        - 만약 books 리스트가 비어 있다면:
            - <li>에 "책이 없습니다."라는 메시지를 출력한다.    
        - </ul>로 목록을 닫는다.  
    4. 'content' 블록 종료.
    

    CSS – books/static/books/css/style.css

    생성형AI를 이용하여 작성된 HTML을 꾸며보세요.
    

    설정 – settings.py STATIC 설정 확인

    STATIC_URL = "static/"
    

    최종결과 확인하기:

    python manage.py makemigrations
    python manage.py migrate
    python manage.py runserver
    
    TOP
    preload preload