웹 개발 기초와 Django 프레임워크 개요
여러분, Python만 알면 웹 사이트도 뚝딱 만들 수 있다면 믿으시겠어요?
Django는 그걸 가능하게 해주는 도구예요!
안녕하세요, 여러분~! 😊
혹시 "웹 개발"이라는 말만 들어도 벌써 머리가 복잡해지는 분 계신가요? 저도 처음엔 그랬어요.
HTML, CSS, JavaScript, 서버, 데이터베이스... 어디서부터 시작해야 할지 막막했거든요.
그래서 이 시리즈에서는 여러분이 편안하게 웹 개발의 기초를 익힐 수 있도록, 정말 친절하고 쉽게!
Django라는 프레임워크를 중심으로 하나하나 알려드릴 거예요.
오늘은 그 첫 걸음으로, 웹 개발이 무엇인지, HTTP란 무엇이며, Django는 어떤 역할을 하는지, 그리고 개발을 시작하기 위한 로컬 환경은 어떻게 준비하는지 이야기해볼게요.
마치 요리를 시작하기 전 재료부터 차근히 준비하듯, 개발도 준비가 반이니까요!
목차
1. HTTP란 무엇인가요? 🌐
웹 개발을 제대로 이해하려면 가장 먼저 HTTP라는 용어부터 알아야 해요.
HyperText Transfer Protocol의 약자인 HTTP는 인터넷에서 정보를 주고받을 때 사용하는 기본 규칙이에요.
쉽게 말해, 웹 브라우저와 서버가 대화할 때 사용하는 언어죠.
우리가 웹 브라우저에 주소를 입력하면 HTTP 요청(Request)이 발생하고, 서버는 거기에 맞는 HTTP 응답(Response)을 보냅니다.
예를 들어,
여러분이 https://www.google.com
에 접속하면 브라우저는 "이 주소에 해당하는 내용을 주세요!"라고 요청하고, 서버는 "여기 있어요!" 하면서 응답을 보내는 거예요.
📋 주요 HTTP 메서드 정리
메서드 | 설명 | 예시 |
---|---|---|
GET | 데이터를 조회할 때 사용 | /articles |
POST | 새로운 데이터를 생성할 때 사용 | /articles (글 작성) |
PUT | 기존 데이터를 수정할 때 사용 | /articles/3 (3번 글 수정) |
DELETE | 데이터를 삭제할 때 사용 | /articles/3 (3번 글 삭제) |
- 클라이언트 = 웹 브라우저, 서버 = 정보를 제공하는 곳
- HTTP는 이 둘의 소통을 위한 ‘공용 언어’예요
- 다양한 메서드를 통해 어떤 ‘행동’을 할지 서버에 알려줘요
정리하자면, HTTP는 웹 개발의 기본 중의 기본입니다.
이 개념을 확실히 이해하고 있어야 웹 프레임워크가 하는 일을 자연스럽게 받아들일 수 있어요.
다음 섹션에서는 웹 프레임워크가 도대체 무슨 일을 해주는지도 살펴볼게요.
2. 웹 프레임워크의 개념과 역할 🧱
웹 개발을 처음 접하는 분들은 "웹 프레임워크"라는 말이 좀 낯설게 느껴질 수 있어요.
웹 프레임워크란 쉽게 말해서, 웹사이트를 만들기 위한 재료와 조리도구가 모두 포함된 요리 세트라고 생각하면 됩니다.
우리가 만약 웹 프레임워크 없이 개발한다면, 요청 처리, URL 연결, 폼 검증, 데이터 저장, 보안, 세션 등 모든 걸 직접 다 만들어야 해요.
마치 라면도 면부터 직접 뽑고, 스프도 만들고, 그릇도 빚는 느낌... 😵💫 하지만 프레임워크를 사용하면 이런 반복적인 작업들을 자동화하고 간편화해줍니다.
💡 웹 프레임워크가 하는 일
- 사용자가 입력한 URL을 어떤 기능과 연결할지 결정해요 (라우팅)
- 사용자의 입력값을 안전하게 처리해줘요 (폼 검증, 보안 필터)
- 데이터베이스와 연결해서 정보를 읽고 쓰게 해줘요
- 사용자가 보는 웹 페이지도 만들어 줘요 (템플릿 렌더링)
✔ 왜 웹 프레임워크를 써야 할까?
- 복잡한 웹 기능을 빠르고 쉽게 구현할 수 있어서
- 보안, 성능, 유지보수 등 전문가들이 설계한 기능을 그대로 활용할 수 있어서
- 문서화와 커뮤니티가 잘 되어 있어서 문제 해결이 쉬워요
이제 왜 웹 프레임워크가 중요한지 감이 오시죠?
Django는 그런 프레임워크 중에서도 아주 강력하고, 쉬우며, 실무에서도 많이 쓰이는 대표적인 녀석이에요. 다음 장에서는 Django가 왜 그렇게 많은 사랑을 받는지 그 매력을 살펴보죠!
3. Django의 특징과 장점 ✨
Django(장고)는 Python 기반의 웹 프레임워크예요.
"The web framework for perfectionists with deadlines"라는 슬로건처럼, 빠르고 깔끔한 개발을 원하는 사람들에게 안성맞춤이에요. 🧑💻
처음 접하면 다소 방대해 보일 수 있지만, 알고 보면 개발자의 귀차니즘을 가장 잘 이해하는 프레임워크랍니다!
💎 Django의 대표적인 장점
특징 | 설명 |
---|---|
빠른 개발 | 폼, 인증, 관리자 페이지 등 대부분 기능을 기본 제공 |
보안 | XSS, CSRF, SQL Injection 등 웹 보안 이슈에 강함 |
확장성 | 다양한 앱을 쉽게 붙여서 서비스 확장이 가능함 |
관리자 기능 | 자동으로 생성되는 관리자 페이지는 신의 한 수! |
📌 이런 분들에게 강력 추천!
- 프론트엔드보다 백엔드가 더 궁금한 분
- 서비스 MVP를 빠르게 만들어보고 싶은 스타트업 창업자
- Python을 배워봤고 이제 웹을 해보고 싶은 분!
Django는 국내외 수많은 웹사이트에서 실전(!)으로 쓰이고 있어요.
여러분도 곧 Django로 진짜 작동하는 웹 서비스를 만들 수 있을 거예요.
이제 Django가 어떻게 구조화되어 있는지, 그 핵심인 MVT 패턴으로 넘어가 볼까요?
4. Django의 MVT 아키텍처 이해 🧩
웹 프레임워크마다 나름의 아키텍처 구조를 갖고 있어요.
Django에서는 MVT(Model-View-Template) 패턴을 사용합니다.
이건 흔히 들어본 MVC(Model-View-Controller)와 비슷하면서도 Django만의 방식이 녹아 있어요.
📚 MVT 구성요소 한눈에 보기
구성요소 | 역할 | 설명 |
---|---|---|
Model | 데이터 구조 설계 | DB 테이블과 직접 연결, 데이터 읽고 쓰기 담당 |
View | 비즈니스 로직 | 요청 처리, 어떤 데이터를 보여줄지 결정 |
Template | 사용자에게 보여질 UI | HTML로 데이터를 표현하는 데 사용 |
📌 Django에서의 흐름 정리
- 사용자가 웹사이트에 어떤 요청을 보냅니다 (예: 게시글 목록 보기).
- View가 그 요청을 받고, 필요한 데이터를 Model에서 가져옵니다.
- 가져온 데이터를 Template에 넘겨서 예쁘게 보여줍니다.
이렇게 역할을 명확히 나눔으로써 개발자는 로직만, 디자이너는 UI만 집중할 수 있어요.
협업도 편하고, 유지보수도 쉬워지는 Django의 큰 장점 중 하나랍니다!
이제 Django의 구조까지 살펴봤으니, 실전 준비를 해볼 차례죠.
다음 파트에서는 여러분의 PC에서 Django 개발을 시작할 수 있도록 Windows 개발 환경을 셋업하는 방법을 알아봅니다!
5. Windows에서 개발환경 준비하기 🛠️
본격적으로 Django를 사용해서 웹 개발을 하려면, 먼저 내 PC에 개발환경부터 갖춰야 해요.
이번 파트에서는 Windows 기반의 로컬 개발환경을 단계별로 구성하는 법을 알려드릴게요.
🔧 Step-by-Step 개발환경 설정 가이드
- Python 설치
- 가상환경(venv) 설정
- 필수 패키지 설치 (pip 이용)
- Django 설치 및 프로젝트 시작
1. Python 설치하기 🐍
공식 사이트에 들어가서 Python 최신 버전을 다운로드하고 설치합니다.
설치 시 "Add Python to PATH" 옵션을 꼭 체크해야 해요!
Download Python
The official home of the Python Programming Language
www.python.org
파이썬 설치 관련 내용 확인
https://firstcoding.net/54
파이썬 개발환경 구축 완벽 가이드 (2025 최신판)
파이썬 개발환경 구축 완벽 가이드 (2025 최신판)처음 파이썬을 배우려는데, 설치부터 뭐가 이렇게 많아?VSCode? 파이참? 뭐가 뭔지 모르겠다면 이 글 하나면 끝! 안녕하세요 😊요즘 AI 열풍 덕분
firstcoding.net
2. 가상환경 만들기 💡
가상환경은 프로젝트마다 독립적인 패키지 공간을 만들어줘요. 아래 명령어를 실행해볼게요.
python -m venv venv
venv\Scripts\activate
성공하면 명령 프롬프트에 (venv)
가 붙어요.
가상환경에 대해 좀더 알아보실 분들은 아래 포스트를 참고해주세요
파이썬 가상환경(venv, virtualenv)으로 프로젝트 환경을 깔끔하게 관리하는 법
파이썬 가상환경(venv, virtualenv)으로 프로젝트 환경을 깔끔하게 관리하는 법프로젝트마다 패키지 버전이 달라서 자꾸 충돌난다면? 파이썬 가상환경으로 환경관리를 시작해보세요! 🧪 안녕하
firstcoding.net
이제 여기서 Django를 설치하면 됩니다!
3. Django 설치 및 프로젝트 시작 🚀
pip install django
django-admin startproject mysite
cd mysite
python manage.py runserver
위 명령어까지 완료했다면 127.0.0.1:8000
주소로 접속해보세요!
Django 환영 페이지가 나온다면 성공이에요! 🎉
여러분은 지금 Django 웹 개발의 첫 발을 디디셨어요.
앞으로 이 환경에서 앱을 만들고, 데이터베이스를 연결하고, 멋진 서비스를 구현하게 될 거예요!
6. Python 설치와 가상환경 설정 ⚙️
앞선 STEP에서 간단하게 개발환경을 구성해봤다면, 이번에는 조금 더 자세히 Python 설치와 가상환경 설정에 대해 알아보겠습니다. 특히 여러 프로젝트를 동시에 개발하려면 가상환경을 잘 활용하는 습관이 정말 중요해요.
📌 Python 설치 팁
- 설치 중 반드시 “Add Python to PATH” 체크!
- 버전 충돌 방지를 위해 최신 버전 사용 권장
설치 후 명령 프롬프트에서 다음 명령어로 확인해볼 수 있어요.
python --version
pip --version
🌱 가상환경(venv) 개념 다시 보기
가상환경은 말 그대로 프로젝트마다 독립적인 Python 공간이에요.
예를 들어,
블로그 웹사이트에선 Django 4.2 버전을 쓰고, 쇼핑몰 웹사이트에선 3.2 버전을 쓸 수도 있어요.
이런 걸 가능하게 해주는 게 바로 가상환경입니다.
✔ 가상환경 관리 명령어
명령어 | 설명 |
---|---|
python -m venv venv | 가상환경 생성 |
venv\Scripts\activate | 가상환경 활성화 (Windows) |
deactivate | 가상환경 종료 |
📎 실전 꿀팁
- Visual Studio Code를 쓰면 터미널에서 바로 가상환경을 인식해줘요!
-
requirements.txt
파일을 만들어 두면 나중에 패키지 설치가 훨씬 쉬워요.
지금까지 Python 설치와 가상환경 설정에 대해 배워봤어요.
이제 여러분은 Django 개발을 위한 기초 체력을 모두 갖췄다고 볼 수 있죠.
그럼 이제, 이 여정을 마무리하면서 여러분이 앞으로 어떻게 시작하면 좋을지 정리해볼게요!
🧩 이제 Django 세계로 출발해볼까요?
여기까지 따라오셨다면 정말 수고 많으셨어요!
HTTP의 기본 구조부터 Django의 매력, MVT 패턴, 그리고 개발환경 설정까지 웹 개발을 시작하는 데 꼭 필요한 기초를 차근차근 다졌습니다. 👏
이제 여러분은 개발자 노트북을 열고, Django로 나만의 웹 서비스를 만들 준비가 된 셈이죠.
"아직 잘 모르겠어요..."라는 생각이 드시더라도 괜찮아요.
개발은 해보면서 익히는 것이니까요.
다음 글부터는 Django 프로젝트를 하나씩 만들어보면서 실습 중심으로 배워볼 거예요.
"왜 이렇게 동작하지?"라는 의문이 들면 이 글로 다시 돌아와 주세요.
기초는 늘 탄탄하게, 다시 반복할수록 더 잘 보이거든요 😉
그럼 우리 다음 글에서는 Django 프로젝트를 직접 만드는 방법으로 이어가 볼게요.
같이 실습하면서 진짜 서비스를 만들 준비되셨죠? 🎯
'Python > Python 웹프로그래밍' 카테고리의 다른 글
[Django-03] Django 앱 구조와 URL·뷰·템플릿 완전 정복 (0) | 2025.04.20 |
---|---|
[Django-02] 개발환경 구축과 Django 프로젝트 시작 (0) | 2025.04.19 |
[FastAPI-⑧] 파이썬 FastAPI 실전 프로젝트 구현 (2) – 기능 보완 및 마무리 (1) | 2025.04.16 |
[FastAPI-⑦] 파이썬 FastAPI 실전 프로젝트 (1) – 블로그 API/Todo API 설계 및 구현 (0) | 2025.04.16 |
[FastAPI-⑥] 파이썬 FastAPI 예외 처리, 테스트 및 프로젝트 구조화 (0) | 2025.04.16 |