Categories의 항목을 불러오지 못합니다.
270
작성한 질문수 2
강의를 따라서 test도 성공했고, category 뱃지도 출력이 됩니다. 하지만 카테고리 블록에서 미분류를 제외한 나머지, programming과 문화&예술이 출력되지 않습니다. 제가 추정컨데, view.py에서 def get_context_data를 인식하지 못 하는 것으로 보입니다. 왜냐하면, 미분류가 출력이 되지만 미분류의 개수('no_category_post_count')는 출력이 되지 않기 때문입니다. 오랫동안 코드를 비교하며 고민했으나 도저히 정답이 나오지 않습니다. 아래에 관련 코드를 첨부합니다.
p.s. 다음 강의를 들어보니 post_detail 페이지에서는 search와 category가 잘 출력되는 반면, post_list 페이지에서는 search와 category가 존재조차 하지 않습니다.


view.py
from django.views.generic import ListView, DetailView
from .models import Post, Category
class PostList(ListView):
model = Post
ordering = '-pk'
def get_context_data(self, **kwargs):
context = super(PostList, self).get_context_data()
context['categories'] = Category.objects.all()
context['no_category_post_count'] = Post.objects.filter(category=None).count()
return context
class PostDetail(DetailView):
model = Post
base.html
<!DOCTYPE html>
{% load static %}
<html>
<head>
<title>{% block head_title %}Blog | 지수나라!{% endblock %}</title>
<link href="{% static 'blog/bootstrap/bootstrap.min.css'%}" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css"
integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" crossorigin="anonymous">
<script src="https://kit.fontawesome.com/1c333bfcc0.js" crossorigin="anonymous"></script>
</head>
<body>
{% include 'blog/navbar.html' %}
<div class="container">
<div class="row my-3">
<div class="col-md-8 col-lg-9" id="main-area">
{% block main_area %}
{% endblock %}
</div>
<div class="col-md-4 col-lg-3">
<!-- Search Widget -->
<div class="card my-4">
<h5 class="card-header">Search</h5>
<div class="card-body">
<div class="input-group">
<input type="text" class="form-control" placeholder="Search for...">
<span class="input-group-append">
<button class="btn btn-secondary" type="button">Go!</button>
</span>
</div>
</div>
</div>
<!-- Categories Widget -->
<div class="card my-4" id="categories-card">
<h5 class="card-header">Categories</h5>
<div class="card-body">
<div class="row">
<ul>
{% for category in categories %}
<li>
<a href="#">{{ category.name }} ({{category.post_set.count}})</a>
</li>
{% endfor %}
<li>
<a href="#">미분류 ({{no_category_post_count}})</a>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
{% include 'blog/footer.html' %}
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"
integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js"
integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns"
crossorigin="anonymous"></script>
</body>
</html>
models.py
from django.db import models
from django.contrib.auth.models import User
import os
class Category(models.Model):
name = models.CharField(max_length=50, unique=True)
slug = models.SlugField(max_length=50, unique=True, allow_unicode=True)
def __str__(self):
return self.name
class Meta:
verbose_name_plural = 'Categories'
class Post(models.Model):
title = models.CharField(max_length=50)
hook_text = models.CharField(max_length=100, blank=True)
content = models.TextField()
head_image = models.ImageField(upload_to='blog/images/%Y/%m/%d/', blank=True)
file_upload = models.FileField(upload_to='blog/files/%Y/%m/%d/', blank=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
author = models.ForeignKey(User, null=True, on_delete=models.SET_NULL)
category = models.ForeignKey(Category, null=True, blank=True, on_delete=models.SET_NULL)
def __str__(self):
return f'[{self.pk}] {self.title} :: {self.author}'
def get_absolute_url(self):
return f'/blog/{self.pk}/'
def get_file_name(self):
return os.path.basename(self.file_upload.name)
def get_file_ext(self):
return self.get_file_name().split('.')[-1]
답변 1
로그인 오류
0
88
2
docker-compose down 안되는 현상
0
206
2
url pattern관련 문의
0
198
2
오류
0
255
1
doitdjango 블로그 게시판 작동 오류
1
301
1
구글 로그인 오류 .
0
463
2
makemigrations 을 했는데 aws lightsail에서
0
205
1
안녕하세요 강사님,
0
403
2
맥북 프로 14 가상화 확인
0
438
2
테스트 코드 오류
0
389
2
섹션 6-2 알림 내용 중 링크가 잘못되어 있네요.
0
282
2
장고 개발 준비.
0
407
2
Mac
0
321
1
TDD 통과 했지만, 실제 웹에서 작동하지 않습니다.
0
375
1
summernote를 적용하고 이미지를 업로그하면 모바일에서 볼때는 이미지가 크게 나오는데 어떻게 해야 되나요?
0
916
2
python manage.py test 를 돌리면 allauth.socialaccount.models.SocialApp.DoesNotExist 에러가 뜹니다.
1
1696
2
self.client.post에 글이 생성되지않습니다
0
339
1
Nginx 설정 이후 개발용 도커 컨테이너 실행
0
552
1
UpdateView - 포스트 수정 페이지 만들기 에서 질문이 있습니다.
0
405
1
from .models import Question
0
1221
1
파이참 장고 인식 불가 문제
0
1006
2
배포용 도커 컨테이너 실행이 안됩니다
0
717
1
docker-compose exec web manage.py migrate
0
555
1
search_info가 안나옵니다..
0
361
2





