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 함수가 실행된다.
만일 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 로 접속해보면 다음과 같은 결과를 확인할 수 있다.