Проект простого форума Django не отображает модлы на странице

Уже несколько недель я работаю над простым приложением для форумов. Основная цель проекта заключается в том, чтобы пользователь написал сообщение, а затем это сообщение было отображено. В проекте не используются пользовательские модели. По какой-то причине, когда пользователь заполняет форму для своего сообщения, его сообщение не отображается. Мне интересно, знает ли кто-нибудь, почему это происходит, или есть ли у кого-нибудь из вас какие-нибудь советы.

views.py

from django.shortcuts import render
from django.urls import reverse_lazy
from django.views import generic
from . import forms
# Create your views here.

class ForumForm(generic.CreateView):
    template_name = 'forums_simple/forum.html'
    form_class = forms.ForumForm
    success_url = '/'

    def form_vaild(self, form):
        self.object = form.save(commit=False)
        self.object.save()
        return super().form_vaild(form)

urls.py

from django.contrib import admin
from django.urls import path, include
from . import views

app_name = 'forums'

urlpatterns = [
    path('', views.ForumForm.as_view(), name='forum')
]

models.py

from django.db import models

# Create your models here.
class Post(models.Model):
    message = models.TextField(blank=True, null=False)
    created_at = models.DateTimeField(auto_now=True)

forms.py

from django import forms
from  . import models

class ForumForm(forms.ModelForm):
    class Meta:
        model = models.Post
        fields = ('message',)

forum.html

{% extends "base.html" %}
{% load crispy_forms_tags %}

{% block content %}
<div class="container">
  {% for message in object_list %}
    {{ post.message }}
  {% endfor %}
</div>
<div class="container">
  <form class="forum_class" action="index.html" method="post">
    {% csrf_token %}
    {% crispy form %}
    <button type="submit" name="big-button"></button>
  </form>
</div>
{% endblock %}

вам нужно добавить object_list в ваш контекст добавьте это в ваш класс View

 def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        # don't forget to import Post
        context['object_list'] = Post.objects.all()
        return context
Вернуться на верх