0. 들어가기 전

이전 카테고리 Phase 1에서는 Django의 기초 문법과 MVT 패턴을 익히며 '기본적인 게시판 서비스(CRUD + 회원기능)'를 구현했습니다.

 

가장 기본적인 게시판을 생성함으로서 파이썬과 Django와 익숙해지고 친해지려는 목적과 가장 기본적인 것들을 사용할 수 있는 능력을 키우는 것을 목적으로 하였다면, 이번 Phase 2부터는 처음 목적인 웹 사이트를 개발하는 본격적인 심화 과정에 들어갑니다.(기본기의 심화 과정을 의미합니다. 오해 말아주세요)

단순히 글을 쓰고 읽는 것을 넘어, 사용자들이 서로 소통할 수 있는 '커뮤니티 기능'을 추가하고, 실제 서비스에 필수적인 '파일 첨부' 등의 고급 기능을 구현해 보겠습니다.

🚀 Phase 2 학습 로드맵

이번 과정에서 우리가 구현할 핵심 기능들은 다음과 같습니다.

 

1. 댓글 기능 (Comment System)

- 게시글과 댓글의 1:N 관계를 이해하고, 사용자들이 의견을 주고받을 수 있는 기능을 만듭니다.

2. 이미지 및 파일 첨부 (File Upload)

- Django의 정적(Static) 파일과 미디어(Media) 파일 처리 방법을 배우고, 게시글에 사진과 파일을 올리는 기능을 구현합니다.

3. 좋아요(추천) 기능 (Like System)

- 사용자와 게시글 간의 M:N(다대다) 관계를 이해하고, '좋아요' 토글 기능을 구현합니다.

4. 게시판 관리자 기능 (Board Manager)

- 특정 사용자에게 관리자 권한을 부여하고, 게시판을 효율적으로 관리할 수 있는 로직을 짭니다.


🛠️ Phase 2부터 시작하시는 분들을 위한 가이드

Phase 1을 건너뛰고 바로 심화 과정부터 함께 하시고 싶으시다면 제 GitHub 리포지토리에서 Phase 1이 완료된 시점의 소스코드를 내려받아 바로 시작하실 수 있습니다.

 

 

1. 소스코드 다운로드 (Clone) 터미널(또는 CMD)을 열고 프로젝트를 시작할 폴더에서 아래 명령어를 입력하세요.

[Bash]

git clone https://github.com/SweetSpread/django-board-tutorial.git
cd django-board-tutorial

 

2. 가상환경 생성 및 활성화 파이썬 라이브러리 충돌 방지를 위해 독립된 환경을 만듭니다.

[Bash]

python -m venv venv

# Windows 사용자:
.\venv\Scripts\activate

# Mac/Linux 사용자:
source venv/bin/activate

 

3. 필수 라이브러리 설치 프로젝트 실행에 필요한 Django 및 관련 패키지들을 설치합니다.

[Bash]

pip install -r requirements.txt

 

4. 데이터베이스 생성 (Migration) 제공된 모델 코드를 바탕으로 내 컴퓨터에 DB 테이블을 생성합니다.

[Bash]

python manage.py migrate

 

5. 관리자 계정 생성 사이트 관리를 위한 슈퍼유저 아이디를 만듭니다.

[Bash]

python manage.py createsuperuser

 

6. 서버 실행 서버를 켜고 접속해 보세요.

[Bash]

python manage.py runserver

 

7. phase 2를 진행하기 위한 마지막 사전 준비

* 접속 주소: http://127.0.0.1:8000/admin에 접속해서 board 에 새로운 게시판을 하나 생성해주세요.

게시판 ID는 반드시 free 로 정해주세요. 후에 별도의 게시판을 마음대로 생성해도 좋습니다.

 

7. 사전 준비 완료 준비가 끝났습니다! 

👉 접속 주소: http://127.0.0.1:8000/board/free/