

일반적인 웹 서비스에서는 클라이언트가 페이지를 달라고
요청할 경우 서버가 페이지를응답해준다.
HTML , CSS , JavaScript , 프론트엔드 프레임워크 등
Python , Java , 백엔드 프레임워크, 데이터베이스, API 등
웹 어플리케이션을 빠르게 개발할 수 있도록 도와주는 도구이다.
개발에 필요한 기본 구조, 규칙, 라이브러리 등을 제공한다.
Python 기반의 대표적인 웹 프레임워크
Django를 사용하는 이유
venv 라는 폴더가 생성된다.venv 폴더 안에는 파이썬 실행 파일, 라이브러리 등을 담을 공간이 마련된다.venv 라는 이름의 가상 환경을 생성한 것 이다.# 임의의 이름으로 생성 가능하나 관례적으로 venv라고 사용한다.
python -m venv venv

(venv) 와 같이 표시된다면 성공한 것 이다./Mac/Linux 에서는 명령어가 다르니 주의한다..\venv\Scripts\Activate.ps1

deactivate

하나의 소프트웨어가 동작하기 위해 필요로 하는 다른 소프트웨어나 라이브러리이다.
pip list

pip freeze > requirements.txt
pip install -r requirements.txt

Python 환경을 On/Off 로 전환하는 개념이다.venv 는 .gitignore 파일에 작성되어 원격 저장소에 공유하지 않는다.pip install django~=5.2.0

pip freeze > .\requirements.txt

# firstpjt 라는 이름의 django 프로젝트를 생성한다.
django-admin startproject firstpjt .

python manage.py runserver

http://127.0.0.1:8000/ 접속 후 확인

소프트웨어 설계에서 반복적으로 발생하는 문제에 대한, 검증되고 재사용 가능한 일반적인 해결책이다.
하나의 애플리케이션을 구조화하는 대표적인 구조적 디자인 패턴
Django에서는 MTV 디자인 패턴을 사용한다. (기존 MVC와 동일, 명칭만 바뀐 것 이다.)

DB 설정 , URL 연결 , 전체 앱 설정 등게시글 , 댓글 , 회원 관리 등# articles라는 앱 이름
python manage.py startapp articles

반드시 앱을 생성한 후에 settings.py 에 등록해야 한다.

settings.py urls.pyURL 에 따라 이에 해당하는 적절한 views 를 연결한다.__init__.py asgi.py wsgi.py manage.py admin.py models.py views.py 사용자가 서버에 접속하는 과정이다.

http://127.0.0.1:8000/articles 로 요청이 왔을때from django.contrib import admin
from django.urls import path
from articles import views
urlpatterns = [
path('admin/', admin.site.urls),
path('articles/', views.index),
]
view 함수가 정의되어 있는 곳으로, 특정 경로에 있는 template 와 request 객체를 결합해 응답 객체를 반환한다.from django.shortcuts import render
def index(request):
return render(request, "articles/index.html")
articles 앱 폴더 안에 templates 폴더 생성templates 여야 하며, 개발자가 직접 생성해야한다.templates 폴더 안에 articles 폴더 생성articles 폴더 안에 탬플릿 파일 생성
app 폴더/templates/articles/index.html
Django는 /templates/ 까지 기본 경로로 인식한다.
127.0.0.1:8000/articles/ 브라우저 요청

URLs → View → Template
