본문 바로가기
FrameWork/Django

Templates Rendering

by mansoorrr 2024. 7. 17.

Django에서 template을 함수와 렌더링 하기 위해서는 각각의 application에 templates이라는 폴더가 필요하다.

따라서 다음과 같은 순서에 따라 Rendering을 진행함

 

 

[rendering]

  • templates폴더 만들기(주의!! 복수)
  • html만들기
  • app/views.py 에서 html연결(rendering), 데이터 html로 보내기(context)
  • Django에서 전달받은 context데이터는 html에서 flask와 동일한 방법으로 사용된다(jinja문법)
#---------- room/views.py 수정
from django.http import HttpResponse
from django.shortcuts import render

from rooms.models import Room


def see_all_room(request):
    rooms = Room.objects.all() #orm사용해 db의 데이터 모두 가져오기
    return render(request, 'all_rooms.html', context={'rooms':rooms},) #all_rooms.html 템플릿 렌더링, 템플릿에 rooms데이터 전달
    
    
    
#---------- room/templates/all_room.html 생성
<h1> all rooms here </h1>


{% for room in rooms %}
<h3>
    <a href="/room/{{room.pk}}">{{room.name}}</a>
</h1>

{% for amenity in room.amenities.all %}
<li>{{amenity}}</li>
{% endfor %}

{% endfor %}

'FrameWork > Django' 카테고리의 다른 글

DRF POST & validate & save  (1) 2024.07.18
DRF(Django Rest Framework)  (0) 2024.07.17
URL & views  (0) 2024.07.17
ORM  (0) 2024.07.15
App Apps  (0) 2024.07.15