1. URL과 뷰

JJulme·2024년 8월 30일
0

django

목록 보기
2/3

앱(App)

아래의 명령어로 게시판 기능을 담당할 pybo 앱을 생성해보자

django-admin startapp pybo

pybo 디렉토리가 생성되고 여러 파일들이 생성되었음을 확인할 수 있다.

Hello Pybo

브라우저에 http://localhost:8000/pybo 페이지를 요청했을 때 "안녕하세요 pybo에 오신것을 환영합니다." 라는 문자열을 츨력해보자.

먼저 로컬서버 구동하기

python manage.py runserver

그리고 http://localhost:8000/pybo 에 접속해보자

404오류가 발생하였다.
장고는 오류가 발생하면 오류의 원인을 화면에 자세히 보여준다.
오류의 내용은 config/urls.py 파일에 요청한 pybo/ URL에 해당되는 매핑이 없다는 것이다.

urls.py

URL 매핑을 추가하기 위해 config/urls.py 파일을 다음과 같이 수정하자.
[파일이름: projects/mysite/config/urls.py]

from django.contrib import admin
from django.urls import path
from pybo import views

urlpatterns = [
    path("admin/", admin.site.urls),
    path('pybo/', views.index)
]

views.py

pybo/views.py에 index 함수를 추가해보자
[파일이름: projects/mysite/pybo/views.py]

from django.http import HttpResponse


def index(request):
    return HttpResponse("안녕하세요 pybo에 오신것을 환영합니다.")

http://localhost:8000/pybo 페이지를 요청해 보자.

URL 분리

config/urls.py 파일을 아래와 같이 수정
[파일이름: projects/mysite/config/urls.py]

from django.contrib import admin
from django.urls import path, include

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

pybo 앱의 urls.py를 생성하여 url을 관리하도록 한다.
[파일이름: projects/mysite/pybo/urls.py]

from django.urls import path
from . import views

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

url은 아래의 표와 같이 생성된다.

config/urls.pypybo/urls.py최종 URL
'pybo/'+''='pybo/'
'pybo/'+'question/create/'='pybo/question/create/'

http://localhost:8000/pybo 페이지를 요청해보자.

0개의 댓글