42 Django 목록 페이지 만들기
42.1 Django 목록 페이지 등록 - urls.py
테스트로 입력했던 index.do 경로는 삭제하고
blogs라는 경로를 새롭게 추가합니다.
#myapp/blog/urls.py
from django.urls import path
from . import views
app_name = "blog"
urlpatterns = [
# path("index.do", views.index.as_view(), name="main"),
path("", views.firstIndex.as_view(), name="first_index"),
path('blogs/', views.blogList.as_view(), name='pb_list'),
]
42.2 Django 목록 페이지 등록 - view.py
blogList 클래스를 추가합니다.
blogList ListView뷰는 명시된 모델(PyBlog)의 모든 데이터를 조회하여 가져옵니다.
조회 된 데이터는 템플릿으로 넘기게 되며,
테플릿은 이름은 모델명_list.html으로 찾게 됩니다.
#myapp/blog/views.py
class blogList(generic.ListView):
model = PyBlog
42.3 Django 목록 페이지 등록 - list.html
templates/blog/ 밑에 PyBlog_list.html(모델명_list.html) 을 신규로 생성합니다.
템플릿 안에서 object_list 로 데이터를 조회할 수 있습니다.
<!-- templates/blog/PyBlog_list.html -->
{% extends "base/base.html" %}
{% block content %}
<div class="container-fluid">
<h1 class="mt-4">Python Blogs</h1>
<div class="row">
<div class="col-xl-8">
<div class="card mb-4">
{% for list in object_list %}
<div class="card-header">
<p><a href="#">{{list.title}}</a></p>
</div>
{% endfor %}
</div>
</div>
</div>
</div>
{% endblock %}
42.브라우저로 blogs 목록 페이지 접속해보기
Comments
Login:
k**hoi8299@gmail.com 2023.03.23 02:33:30
안녕하세요. 로컬에서는 페이지가 나오는데, 서버에 올려서 보면 500 error 뜨는데 디버깅을 어떻게 해야할까요?