http://localhost:8000 이라는 장고 서버가 열렸을 때

http://localhost:8000/pybo 라는 url로 이동하려면 어떻게 할까?

우선 pybo 라는 앱을 만들어 관리해야한다.

django-admin startapp pybo

위 명령어를 통해 pybo라는 앱을 생성하고,

/pybo로 시작하는 url을 방금 만든 pybo 앱에 넘겨줄 것이다.

프로젝트 내의 urls.py 파일에서 아래 코드를 추가한다.

from django.urls import path, include

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

위 코드는 pybo/ 라는 패턴의 url을 pybo 앱에 넘겨줌을 뜻한다.

pybo app에서 /pybo로 접속 시 실행할 함수를 작성한다.

views.py 파일에서 다음과 같이 작성해보자.

def index(req):
    return HttpResponse('hi this is pybo')

이제 index함수를 실행시켜주기만 하면 된다.

pybo app 안에서도 url 매핑이 필요하기 때문에 urls.py 파일을 생성한다.

urlpatterns = [
    path('', views.index),
]

이제 http://localhost:8000/pybo/ 로 접속 시 pybo 앱 내에 있는 view파일의 index 함수가 실행된다.
image

만일 url 내에 id 값과 같은 매개변수가 필요할 경우에는 다음과 같이 표현한다.

path('question/<int:id>', views.question)

views.py 안에서 매개변수를 사용한 함수를 작성한다.

이때 매개변수는 두번째 인자로 받아 사용해야한다.

def question(req, id):
    return HttpResponse(f'question {id}')

이제 http://localhost:8000/pybo/question/1 로 접속해보면 다음과 같은 결과를 확인할 수 있다.
image