자 저번까지 했던 것은 models.py에서 데이터를 저장하기 위한 표를 만들고, 이를 admin.py에 등록하여 admin 페이지에서 글을 추가해보았습니다.

그럼 이번 시간에는 admin 페이지에서 추가된 글들을 html에서 띄우는 방법을 배워봅시다.

데이터 가져오기 및 뿌리기

첫 시간에 데이터를 다루고 처리하는 곳이 어디라고 했었죠? 바로 views.py라고 했었습니다.

우선 데이터들을 띄울 html 하나를 만들어 줍시다.

저는 posts.html이라고 이름 지었습니다.

저는 posts.html이라고 이름 지었습니다.

html을 만들었으면 어떤 것을 해줘야한다고 했었죠? html을 띄워줄 함수를 작성해야 한다고 했었습니다. 이는 views.py에서 이루어졌습니다. 그럼 views.py 를 작성해봅시다.

def show_post(request):
    return render(request, 'posts.html')

위의 내용이 기억나지 않으신다면 다시 복습하고 와주세요!!

views.py에서 함수를 작성했으니 이제 url을 연결해줄 차례입니다. urls.py에 다음과 같이 작성해줍니다.

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

urlpatterns = [
    path('admin/', admin.site.urls), 
		path('post/', views.show_post, name='post')
]

이렇게 되면 이제 posts.html을 띄울 준비가 된 것입니다.

그럼 이제 이전에 만들어 놓은 데이터베이스(표)를 가져와야합니다. 이를 위해서 다시 views.py로 갑니다.

from .models import Post

최상단에 위의 내용을 추가해줍니다. 이는 저희가 이전에 정의해둔 Post라는 표를 가져오겠다는 의미입니다.