Python Django | Данные не отображаются на странице

Данные из формы не отображаются на главной странице, хотя в панели администратора сохраняются.

models.py:

from django.db import models

class Post(models.Model):
    title = models.CharField('Title', max_length=50)
    post = models.TextField('Post')

    def __str__(self):
        return self.title

views.py:

from django.shortcuts import render, redirect
from .models import Post
from .forms import PostForm


def index(request):
    posts = Post.objects.all()
    return render(request, 'main/index.html', {'title': 'Main Pge of site', 'post': posts})

def about(request):
    return render(request, 'main/about.html')

def add(request):
    error = ''
    if request.method == 'POST':
        form = PostForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect('home')
        else:
            error = 'Error'
    form = PostForm()
    context = {
        'form': form,
        'error': error
    }
    return render(request, 'main/add.html', context)

forms.py:

from .models import Post
from django.forms import ModelForm, TextInput, Textarea

class PostForm(ModelForm):
    class Meta:
        model = Post
        fields = ['title', 'post']
        widgets = {
            'title': TextInput(attrs={
                'class': 'form-control',
                'placeholder': 'Enter title'
            }),
            'post': Textarea(attrs={
                'class': 'form-control',
                'placeholder': 'Enter post'
            })
        }

index.html:

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

{% block title %}
{{ title }}
{% endblock %}

{% block content %}
    <h2>Main page</h2>
    {% if posts %}
        {% for el in posts %}
            <!--<div class="alert alert-warning mt-2">-->
                <h3>{{ el.title }}</h3>
                <p>{{ el.post }}</p>
            <!--</div>-->
        {% endfor %}
    {% else %}
        <p>No data</p>
    {% endif %}
{% endblock %}

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

Автор решения: Za Ars
def index(request):
    posts = Post.objects.all()
    return render(request, 'main/index.html', {'title': 'Main Pge of site', 'post': posts})

Тут опечатка в 'post': posts. Замените 'post' на 'posts' и бульте внимательны в следущий раз.

→ Ссылка