코딩공부/Python Django

[django 실습] 게시판 만들기 - views에 데이터 가져오기

integerJI 2020. 2. 18. 00:02

python django 게시판 만들기 - view함수에 데이터를 가져와 html에 띄우기


model, admin 설정 : https://integer-ji.tistory.com/89


언제나 시작은 가상 환경 실행, 디렉터리 이동

 

 

source myvenv/Scripts/activate

cd crudproject/

 

데이터 추가하기

 

 

 

admin 페이지에 데이터를 추가해 줍니다.

 

 

views.py home 함수 수정

 

 

from django.shortcuts import render
from .models import Blog

# Create your views here.

def home(request):
    blogs = Blog.objects
    return render(request, 'home.html', {'blogs': blogs})

 

models에서 Blog를 import 해옵니다.

 

import한 Blog를 home 함수에서 blogs 객체를 넣어줍니다.

 

home.html 객체 가져오기

 

 

{{blogs}}

 

먼저 views.py에서 명시해준 blogs 그대로 가져와 봅니다.

 

{{blogs}} 추가

 

 

 

 

기존에 있던 워드카운트와 함께 crudapp.Blog.objects가 출력됩니다.

 

Blog 클래스에서 objects만 가져오네요

 

이제 이걸

 

 

{{blogs.all}}

 

blogs.all로 바꾼다면

 

 

 

blogs에 있는 객체들 모두가 출력됩니다.

 

여기서 title로 출력되는 이유는 models.py에서 title를 return 해줬기 때문입니다.

 

이렇게 객체들을 가져왔는데 이걸 게시글 형태로 바꿔보겠습니다.

 

for문을 사용해 게시글 형태로 출력하기

 

 

{% for blog in blogs.all %}
    <h1>{{ blog.title }}</h1>
    <p>{{ blog.pub_date }}</p>
    <p>{{ blog.body }}</p>
{% endfor %}

 

for문을 사용해 blogs의 모든 객체를 blog에 담고

 

첫번째는 title, 두 번째는 시간 그리고 본문을 가져오고 for문을 끝내줍니다.

 

확인해보면

 

 

 

 

admin페이지에서 올린 글들을 확인할 수 있습니다.

 

 

git push

 

 

git init

git add .

git commit -m "코멘트"

 

 

 

git push origin master

 

 

 

 

 - 끝 -

 

---

 

다음 시간에는 불러온 게시물의 본문을 일정부분만 불러와 detail page로 넘어가는 기능을 시작하겠습니다.