템플릿 동적 데이터
뷰는 모델과 템플릿을 연결하는 역할을 한다. post_list
를 뷰에서 보여주고 이를 템플릿에 전달하기 위해서는, 모델을 가져올 필요가 있다.
blog/views.py
파일을 열어서 post_list
뷰를 본다.
from django.shortcuts import render
def post_list(request):
return render(request, 'blog/post_list.html', {})
models.py
파일에 정의된 모델을 가져오기 위해 from .models import Post
를 추가한다.
from django.shortcuts import render
from .models import Post
쿼리셋(QuerySet)
글 목록을 게시일 published_date
기준으로 정렬한다.
Post.objects.filter(published_date__lte=timezone.now()).order_by('published_date')
다음으로 blog/views.py
파일 내 def post_list(request)
함수에 아래 코드 내용을 넣는다. 그리고 timezone
모듈을 불러와야 하니 from django.utils import timezone
도 추가한다.
xxxxxxxxxx
from django.shortcuts import render
from django.utils import timezone
from .models import Post
def post_list(request):
posts = Post.objects.filter(published_date__lte=timezone.now()).order_by('published_date')
return render(request, 'blog/post_list.html', {})
render 함수에는 매개 변수 request
와 blog/post_list.html
템플릿이 있고, {}
이 보일 텐데, 이곳은 템플릿에서 사용할 매개변수를 전달하는 역할을 한다. 아래와 같이 파일을 작성한다.
from django.shortcuts import render
from django.utils import timezone
from .models import Post
def post_list(request):
posts = Post.objects.filter(published_date__lte=timezone.now()).order_by('published_date')
return render(request, 'blog/post_list.html', {'posts': posts})
'Python > Django' 카테고리의 다른 글
장고 걸즈 튜토리얼 따라하기 11 - CSS (0) | 2019.01.03 |
---|---|
장고 걸즈 튜토리얼 따라하기 10 - 장고 템플릿 (0) | 2019.01.02 |
장고 걸즈 튜토리얼 따라하기 8 - 장고 ORM과 쿼리셋 (0) | 2018.12.27 |
장고 걸즈 튜토리얼 따라하기 7 - 장고 뷰 (0) | 2018.12.26 |
장고 걸즈 튜토리얼 따라하기 6 - 장고 urls (0) | 2018.12.24 |