Приложение в Django не отображает содержимое приложения, как это исправить?

Кнопка Блог не отображает информацию о количестве написанных блогов и сами блоги (при добавлении номера блога в адресной строке ничего не появляется. [https://i.stack.imgur.com/Y8hbZ.jpg

# all_blogs.html
{% extends "portfolio/base.html" %}
{% load static %}

<h1 id="blogtitle" class="font-weight-bold text-center">Blog</h1>

<h3 class="text-center mb-5">Mike has written {{ blogs.count }} blog{{ blogs.count|pluralize }}</h3>

{% for blog in blogs %}
<div class="row justify-content-center my-3">
  <div class="col-md-10">
    <a href="{% url 'blog:detail' blog.id %}">
      <h2>{{ blog.title }}</h2>
    </a>
    <h5 class="text-muted">{{ blog.date|date:'M d Y'|upper }}</h5>
    <h4> {{ blog.description|striptags|truncatechars:145 }} </h4>
  </div>
</div>
{% endfor %}
# apps.py
from django.apps import AppConfig

class BlogConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'blog'
# urls.py
from django.urls import include, path
from django.conf.urls.static import static
from django.conf import settings
from . import views

app_name = 'blog'

urlpatterns = [
    path('', views.all_blogs, name='all_blogs'),
    path('<int:blog_id>/', views.detail, name='detail'),
]

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
# views.py
from django.shortcuts import render, get_object_or_404
from .models import Blog

def all_blogs(request):
    blogs = Blog.objects.order_by('-date')[:5]
    return render(request, 'blog/all_blogs.html', {'blogs': blogs})

def detail(request, blog_id):
    blog = get_object_or_404(Blog, pk=blog_id)
    return render(request, 'blog/detail.html',{'blog':blog})
# detail.html
{% extends "portfolio/base.html" %}

{% load static %}

<h1 class="text-center mt-5" id="blogdetailtitle">{{ blog.title }}</h1>

<h5 class="text-center text-muted mb-5">{{ blog.date|date:'F jS Y' }}</h5>

<h5> {{ blog.description|safe }} </h5>
# settings.py
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog',
    'portfolio',
]

Ответы (2 шт):

Автор решения: Anton Balmakov

Была похожая проблема, тогда у меня просто была не заполнена база данных и следовательно он ничего не отображал. Если у вас есть какая то статическая информация которая должна отображаться по дефолту а ее нет. ТО откройте в браузере страницу через F12 и посмотрите ошибки. Там скорее всего будет указано по какому пути он ищет фотографии. И сравните со своим путём. Я посмотрел что статической инфы у вас нет(ему нечего отображать), следовательно попробуйте заполнить базу. И желательно прикрепите файл models.py

→ Ссылка
Автор решения: Za Ars
{% extends "portfolio/base.html" %}

{% load static %}

<h1 id="blogtitle" class="font-weight-bold text-center">Blog</h1>

<h3 class="text-center mb-5">Mike has written {{ blogs.count }} blog{{ blogs.count|pluralize }}</h3>

{% for blog in blogs %}
<div class="row justify-content-center my-3">
  <div class="col-md-10">
    <a href="{% url 'blog:detail' blog.id %}">
      <h2>{{ blog.title }}</h2>
    </a>
    <h5 class="text-muted">{{ blog.date|date:'M d Y'|upper }}</h5>
    <h4> {{ blog.description|striptags|truncatechars:145 }} </h4>
  </div>
</div>
{% endfor %}

Когда вы расширяете шаблон другим шаблоном (portfolio/base.html) в базовом шаблоне должны быть определены блоки

{% block example_block %}
    <!-- тут что то будет -->
{% endblock %}

А в шаблоне, который использует этот шаблон, указывай контент в этом блоке, чтобы переопределить этот контент

{% extends 'portfolio/base.html' %}

{% block example_block %}
   
    {% for blog in blogs %}
    <div class="row justify-content-center my-3">
      <div class="col-md-10">
        <a href="{% url 'blog:detail' blog.id %}">
          <h2>{{ blog.title }}</h2>
        </a>
        <h5 class="text-muted">{{ blog.date|date:'M d Y'|upper }}</h5>
        <h4> {{ blog.description|striptags|truncatechars:145 }} </h4>    
      </div>
    </div>
    {% endfor %}

{% endblock %}

В вашем случае, блок скорее всего стоит назвать content

→ Ссылка