[Django] Routing

2022. 1. 28. 13:36·Django

라우팅(Routing)이란?

이전 알아본 경로를 바로 라우팅이라고 합니다. 다시 말하자면 사용자가 지정한 경로를 누가 처리할 것인가를 지정하는 것을 말합니다. 제일 먼저 신경써야 할 것이 라우팅이고 라우팅이 가장 중요하다고 할 수 있습니다. 
다시 보자면 Project/urls.py -> App/urls.py -> view.def 로 생각할 수 있습니다. 

4가지 경로를 살펴보도록 하겠습니다.
# http://127.0.0.1/              -> Home을 나타냄 (가장 초기값)
# http://127.0.0.1/app/
# http://127.0.0.1/create/
# http://127.0.0.1/read/1/

라우팅(Routing) 설정하는 방법

1. project 폴더 안에 있는 urls.py에서 urlpatterns를 정의 합니다.
2. 다른 urls.py로 위임을 하기 위해서 include를 import해주고 path를 지정해줍니다. 
3. path('', include('myapp.urls'))  ->  include의 두번째 인자로 위임하려고 하는 app의 이름.urls를 입력해준다.
4. 기존 App에는 urls.py 파일이 없기 떄문에 project/urls.py 파일을 myapp에 복사를 해줍니다.
5. myapp에 path 첫번째 인자에 위에서 살펴볼 경로를 설정해줍니다.
6. views파일에 함수 index를 만들어줍니다.
7. myapp path 두번쨰 인자에 views의 함수를 작성해줍니다. -> index 함수를 실행하게됩니다. (views를 import해줘야합니다.)
8. index, create, read 함수를 생성해줍니다. 
9. read의 경우 1의 자리를 가변으로 이용해 줄 수 있습니다.

# myproject/urls.py
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('myapp.urls'))
]

# myapp/ursl.py
from django.urls import path
from myapp import views

urlpatterns = [
    path('', views.index),
    path('create/', views.create),
    path('read/<id>/', views.read)
]


# myapp/views.py
from django.shortcuts import render, HttpResponse

def index(request):
    return HttpResponse('welcome')
def create(request):
    return HttpResponse('Create')
def read(request, id):
    return HttpResponse('Read'+id)

 

출처: https://www.youtube.com/watch?v=AafeZ6dxMzo&list=PLuHgQVnccGMDLp4GH-rgQhVKqqZawlNwG&index=5 

저작자표시 (새창열림)

'Django' 카테고리의 다른 글

[Django] method(GET, POST)  (0) 2022.01.28
[Django] django를 쓰는 이유  (0) 2022.01.28
[Django] 전체적인 경로 흐름  (0) 2022.01.28
'Django' 카테고리의 다른 글
  • [Django] method(GET, POST)
  • [Django] django를 쓰는 이유
  • [Django] 전체적인 경로 흐름
coder_
coder_
어차피 할거 즐기자
  • coder_
    Good coder
    coder_
  • 전체
    오늘
    어제
    • 분류 전체보기 (41)
      • 인공지능 [AI] (3)
      • 모의해킹 (3)
      • Git (2)
      • Cloud (4)
      • 컴퓨터 과학 [CS] (3)
      • 데이터베이스 [DB] (2)
      • Nojde.js (4)
      • Javascript (3)
      • Django (4)
      • Code up (11)
        • 코드업 기초 100제 (9)
        • 단순 반복문 (2)
      • 백준 baek_joon (1)
        • 단계별 문제풀이 (1)
      • Web Scraping (1)
  • 블로그 메뉴

    • 글쓰기
    • 관리
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    ubuntu
    ubuntu 24.04
    hugging face
    php
    llama3.1
    Coding Test
    MariaDB
    Linux
    모의해킹
    Python
    code up
    기초100제
    Lightsail
    node.js
    GCP
    파이썬
    Bastion host
    코드업
    nodejs
    기초 100제
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
coder_
[Django] Routing
상단으로

티스토리툴바