Django로 게시판 서비스의 전 과정(모델 → 뷰 → URL → 템플릿)을 직접 구현한 학습 프로젝트
한양대학교 ERICA · 스마트융합공학부 스마트ICT융합전공 · 웹프레임워크개발 실습
사용자가 질문을 등록하면 다른 사용자가 답변을 다는 질문·답변(Q&A) 게시판입니다.
게시판 서비스의 핵심 흐름인 모델 설계 → 뷰 로직 → URL 라우팅 → 템플릿 렌더링의 전 과정을 직접 구현했습니다. 회원가입·로그인과 목록 페이징까지 포함해 실제 서비스에 가까운 형태로 완성했습니다.
| 기능 | 설명 |
|---|---|
| 질문 목록 | 최신순 정렬 · 한 페이지 10개씩 페이징 |
| 질문 상세 | 질문 내용과 등록된 답변 목록 표시 |
| 질문 등록 | 폼 검증(Form validation) 후 작성일시 자동 기록 |
| 답변 등록 | 질문에 종속된 답변 작성 (POST 전용 처리) |
| 회원 기능 | Django 인증 기반 회원가입 / 로그인 / 로그아웃 |
| 분류 | 내용 |
|---|---|
| 언어 · 프레임워크 | Python · Django |
| 데이터베이스 | SQLite |
| UI | Bootstrap 5 |
| 핵심 개념 | MTV 패턴 · Django ORM · ForeignKey(질문–답변 1:N) · ModelForm + CSRF · Paginator · django.contrib.auth |
DjangoProject/
├─ config/ # 프로젝트 설정 (settings · 루트 URL · WSGI/ASGI)
├─ pybo/ # 게시판 앱 (Question·Answer 모델 · 목록/상세/등록 뷰 · URL · 폼)
├─ common/ # 회원 앱 (회원가입 폼 · 로그인/로그아웃)
├─ templates/ # base·navbar 상속 구조, 질문/회원 화면
├─ static/ # Bootstrap · 정적 파일
├─ db.sqlite3
└─ manage.py
| 모델 | 필드 |
|---|---|
| Question | subject(제목) · content(내용) · create_date(작성일) |
| Answer | question(FK) · content(내용) · create_date(작성일) |
# 가상환경 생성 및 활성화
python -m venv venv
source venv/Scripts/activate # Windows
# source venv/bin/activate # macOS/Linux
# Django 설치
pip install django
# 마이그레이션 후 서버 실행
python manage.py migrate
python manage.py runserver실행 후 브라우저에서 http://127.0.0.1:8000/ 접속.
실행 화면과 상세 소개는 포트폴리오 페이지에서 확인할 수 있습니다.
Contact · 윤태웅 · taewoong25@hanyang.ac.kr