View,Template 만들기

일단 해보기·2022년 3월 23일
0

이제 데이터는 있는데 이걸 출력하게 해줄 View와, 표시할 Template가 필요하다

책에서 배운대로 urls -> view -> template 순으로 작성하고, urls는 include를 이용해서 앱에서 관리하게, template 도 앱폴더 안에 작성해서 나중에 편리하게 관리할수 있도록 했다.

먼저, 프로젝트 폴더의 urls.py에서,

from django.urls import include

path('todo/', include('todo.urls')),

를 입력해서 경로를 지정해주자 이때 ,찍는거 잊어버리면 안됨!!!

그후, todo 앱 폴더 안에서 urls.py를 만들고,

from todo.views import TodoListView

path('', 만든 뷰.as_view(), name='경로 이름')

으로 뷰를 지정해줌

그다음 views.py에서

from todo.models import 모델들
from django.generic import ListView

로 필요한 요소들을 불러온다.
일단은 리스트로 뿌려야하니까 제네릭 뷰의 리스트뷰를 사용한다

class TodoListview(ListView):
    context_object_name = '이름'
    template_name = '템플릿 경로'
    
    def get_queryset(self):
        return 모델.objects.all()

로 기본적인 리스트뷰를 만들었다!
하나하나 함수로 할수도 있지만 책에 따르면 제네릭뷰를 쓰는게 손이 덜가서 좋다고 한다. 정말 편리하긴 하다.

템플릿은 어플리케이션 폴더 안에 templates/앱이름 으로 폴더를 만들고, 뷰에서 지정한대로 이름을 만들어준다.
만약 지정하지 않으면 장고가 알아서 _를 넣어서 만들어주는데, 규칙을 외우기는 싫으니까 늘 지정하는것이 좋을거같다.

템플릿은 우선 데이터가 잘 출력되는지 확인만 하고, bootstrap을 이용할것이기 때문에 간단하게

{% for 'object' in 'context_object_name(view에서 지정했다)' %}
{{ object.name }}
	.
    .
{% endfor %}

정도로만 작성함

이후 테스트를 해보면 별로 보기는 안좋지만 우선 표시는 잘 되었다.

profile
잘 모를때는 일단 이것저것 해보는 타입..

0개의 댓글