📌 Django를 이용한 구구단 웹 페이지 만들기

2025. 4. 30. 03:19·프로젝트
목차
  1. 📌 Django를 이용한 구구단 웹 페이지 만들기
  2. 🔹 프로젝트 구성
  3. 🚩 urls.py 코드 설명
  4. 🚩 gugu.html 코드 설명
  5. 🚀 실제 실행 예시

📌 Django를 이용한 구구단 웹 페이지 만들기

이번 글에서는 Django를 이용하여 간단한 구구단 웹 페이지를 만드는 과정을 코드와 함께 살펴보겠습니다.


🔹 프로젝트 구성

  • urls.py: URL 요청을 처리하고, 적절한 뷰 함수를 연결합니다.
  • gugu.html: Django 템플릿을 사용하여 구구단을 출력하는 페이지입니다.

🚩 urls.py 코드 설명

from django.contrib import admin
from django.urls import path
from django.shortcuts import render, redirect

# 구구단 처리 뷰 함수

def gugu(request, num):
    # num 값이 2 미만이면 '/gugu/2/'로 리다이렉트
    if num < 2:
        return redirect('/gugu/2/')

    # context에 현재 단수와 결과를 리스트 컴프리헨션으로 담아 템플릿에 전달
    context = {
        'dan': num,
        'results': [num * i for i in range(1, 10)]
    }
    return render(request, 'gugu.html', context)

# 구구단 다른 방식 처리 뷰 함수

def dudu(request, num):
    # 각 곱셈의 결과를 튜플로 담아 템플릿에 전달
    context = {
        'dudu': num,
        'resultss': [(i, num * i) for i in range(1, 10)]
    }
    return render(request, 'gugu.html', context)

# URL 패턴 정의
urlpatterns = [
    path('gugu/<int:num>/', gugu),
    path('dudu/<int:num>/', dudu),
]
  • 리다이렉트 처리: 사용자가 URL로 전달한 숫자가 2 미만일 경우, 구구단 2단 페이지로 자동으로 이동됩니다.
  • 리스트 컴프리헨션: 구구단 결과를 한 번에 계산하여 context로 전달합니다.

🚩 gugu.html 코드 설명

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>구구단 페이지</title>
</head>

<body>
    {% if dan %}
        <h1>{{ dan }}단</h1>
        {% for result in results %}
            <p>{{ dan }} x {{ forloop.counter }} = {{ result }}</p>
        {% endfor %}
    {% endif %}

    {% if dudu %}
        <h1>{{ dudu }}단</h1>
        {% for i, result in resultss %}
            <p>{{ dudu }} x {{ i }} = {{ result }}</p>
        {% endfor %}
    {% endif %}

    {# 사용하지 않는 코드 부분 주석 처리 #}
</body>
</html>
  • **조건문(if)**을 사용해 dan 혹은 dudu가 존재하는 경우에만 HTML 태그를 렌더링합니다.
  • forloop.counter: Django 템플릿이 제공하는 반복문의 현재 인덱스를 출력하는 변수입니다.

🚀 실제 실행 예시

  • /gugu/3/으로 접속하면 3단이 출력됩니다.
  • /dudu/4/로 접속하면 4단이 출력됩니다.
  • /gugu/1/로 접속하면 자동으로 /gugu/2/로 리다이렉트 됩니다.

이상으로 Django를 사용하여 간단한 구구단 페이지를 만드는 과정을 살펴보았습니다. 다양한 방법으로 확장하여 활용해보세요! 😊

'프로젝트' 카테고리의 다른 글

Chapter 2-9 Django ORM 미니 프로젝트 실습: 북마크 대량 생성과 조건 필터링  (0) 2025.04.30
📚 Django 유저 리스트 & 상세 정보 프로젝트 정리  (0) 2025.04.30
🚀 Flask 프로젝트 배포 이후 과정 정리 3 일차 (EC2 + Nginx + SSL + 도메인)  (0) 2025.04.27
FLASK 미니프로젝트 팀2-1 팀원과 검증 단계 2일차 아침  (0) 2025.04.25
FLASK 미니프로젝트 팀 (초기작업)1-4 기능 정의 & 흐름 설계 가이드  (0) 2025.04.23
  1. 📌 Django를 이용한 구구단 웹 페이지 만들기
  2. 🔹 프로젝트 구성
  3. 🚩 urls.py 코드 설명
  4. 🚩 gugu.html 코드 설명
  5. 🚀 실제 실행 예시
'프로젝트' 카테고리의 다른 글
  • Chapter 2-9 Django ORM 미니 프로젝트 실습: 북마크 대량 생성과 조건 필터링
  • 📚 Django 유저 리스트 & 상세 정보 프로젝트 정리
  • 🚀 Flask 프로젝트 배포 이후 과정 정리 3 일차 (EC2 + Nginx + SSL + 도메인)
  • FLASK 미니프로젝트 팀2-1 팀원과 검증 단계 2일차 아침
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
찬스맨의 프로그래밍 스토리안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (657) N
      • Python (32)
      • 프로젝트 (43)
      • 과제 (25)
      • Database (40)
      • 멘토링 (11) N
      • 특강 (34) N
      • 기술블로그 (36) N
      • 기술블로그-Fastapi편 (20) N
      • 기술블로그-Django편 (152) N
      • 기술블로그-Flask편 (35)
      • AI 분석 (4)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (72)
      • Fastapi (1) N
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
📌 Django를 이용한 구구단 웹 페이지 만들기

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.