기술블로그-Django편

🚦 라우팅(Routing) vs 매핑(Mapping) 완전 정리

Chansman 2025. 5. 14. 10:52

🚦 라우팅(Routing) vs 매핑(Mapping) 완전 정리


✅ 1. 개념 정리

용어 정의 비유 예시

🌐 라우팅 (Routing) 클라이언트의 URL 요청을 어떤 함수(View)로 처리할지 길을 찾아주는 행위 내비게이션 /articles/5/ → article_detail() 실행
🗺️ 매핑 (Mapping) URL 패턴과 처리 함수(view) 사이의 연결 관계를 미리 설정하는 것 지도에 경로를 표시하는 것 'articles/<int:id>/' → article_detail 연결

✅ 2. 둘의 관계는?

✔️ 매핑을 먼저 설정해야 → 실제 요청이 들어올 때 라우팅이 가능함

"/articles/5/" 이 URL이 들어왔을 때 → 어디로 갈지 결정하는 게 라우팅
이걸 가능하게 만드는 연결 설정이 바로 매핑

즉,

📌 매핑은 라우팅의 준비 단계!


✅ 3. Django 예시로 이해하기

# urls.py
urlpatterns = [
    path('articles/<int:article_id>/', views.article_detail, name='article_detail')
]
  • 'articles/<int:article_id>/'는 URL 패턴
  • views.article_detail은 처리 함수(view)

🧭 이 줄은 "URL이 이렇게 생기면 이 함수로 보내!" 라는 매핑 설정이고,
실제 요청이 오면 Django가 이걸 이용해 라우팅을 수행함


✅ 4. 라우팅 흐름 예시

  1. 사용자가 /articles/5/ 주소로 접속
  2. Django가 URL을 보고 등록된 매핑과 비교
  3. 'articles/<int:article_id>/' 패턴과 일치 확인
  4. article_detail() 함수로 요청을 라우팅

✅ 5. 정리 요약

개념 설명 관계

매핑 URL 패턴과 View 함수 연결 설정 라우팅의 전제 조건
라우팅 실제 요청을 받아 적절한 View로 연결 매핑에 따라 실행됨

✔️ 매핑은 설정이고, 라우팅은 실행입니다 💡


📌 비슷한 개념 (확장)

  • Flask: @app.route() 데코레이터 → 매핑
  • React Router: <Route path="/about" element={<About />} /> → 매핑 + 라우팅 자동화