почему сообщения не отображаются на домашней странице?

#django #django-forms #django-views #django-templates #django-urls

#django #django-формы #django-просмотры #django-шаблоны #django-urls

Вопрос:

когда я добавляю сообщение в панель администратора, сообщения не отображаются на домашней странице приложения. он показывает только пробелы в сообщении, но не может отображать запись сообщения на домашней странице.

views.py

 from django.shortcuts import render,HttpResponseRedirect
from django.contrib import messages
from django.http import HttpResponse
from .forms import SignUpForm, LoginForm
from django.contrib.auth import authenticate, login, logout
from .models import Post
# Create your views here.

# home
def home(request):
    posts = Post.objects.all()
    return render(request, 'blog/home.html',{'posts':posts})
  

home.html

 {% extends 'blog/base.html' %}
{% load static %}

{% block content %}

<div class="col-sm-10">
  <h3 class="text-white my-5">Home Page</h3>
    {% for post in posts %}
      <div class="jumbotron jumbotron-fluid jumbo-colour">
        <div class="container">
          <h1 class="display-4 font-weight-bold">{{posts.title}}</h1>
          <p class="lead">{{posts.desc}}</p>
        </div>
      </div>
    {% endfor %}
</div>

{% endblock content %}
  

models.py

 from django.db import models

# Create your models here.
class Post(models.Model):
    title = models.CharField(max_length=150)
    desc = models.TextField()
  

Ответ №1:

В вашем коде опечатка. Это должно быть:

 {% for post in posts %}
  <div class="jumbotron jumbotron-fluid jumbo-colour">
    <div class="container">
      <h1 class="display-4 font-weight-bold">{{post.title}}</h1>  // not posts.title
      <p class="lead">{{post.desc}}</p>  // not posts.desc
    </div>
  </div>
{% endfor %}