아래의 명령어로 게시판 기능을 담당할 pybo 앱을 생성해보자
django-admin startapp pybo
pybo 디렉토리가 생성되고 여러 파일들이 생성되었음을 확인할 수 있다.
브라우저에 http://localhost:8000/pybo 페이지를 요청했을 때 "안녕하세요 pybo에 오신것을 환영합니다." 라는 문자열을 츨력해보자.
먼저 로컬서버 구동하기
python manage.py runserver
그리고 http://localhost:8000/pybo 에 접속해보자
404오류가 발생하였다.
장고는 오류가 발생하면 오류의 원인을 화면에 자세히 보여준다.
오류의 내용은 config/urls.py 파일에 요청한 pybo/ URL에 해당되는 매핑이 없다는 것이다.
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)
]
pybo/views.py에 index 함수를 추가해보자
[파일이름: projects/mysite/pybo/views.py]
from django.http import HttpResponse
def index(request):
return HttpResponse("안녕하세요 pybo에 오신것을 환영합니다.")
http://localhost:8000/pybo 페이지를 요청해 보자.
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.py | pybo/urls.py | 최종 URL | ||
---|---|---|---|---|
'pybo/' | + | '' | = | 'pybo/' |
'pybo/' | + | 'question/create/' | = | 'pybo/question/create/' |
http://localhost:8000/pybo 페이지를 요청해보자.