По какой-то причине {{ post.message }} не отображает модл

Я делаю простой сайт, чтобы поэкспериментировать с манипуляцией данными пользователя. У меня есть форма, в которой пользователь вводит некоторую информацию и после нажатия кнопки submit он перенаправляется на новую страницу. На этой новой странице должна отображаться введенная пользователем информация. У меня сложилось впечатление, что вы используете этот {{ Modle_Name.Fild_name}} для вставки информации в HTML. Однако, это не работает. Если у кого-то из вас есть решение, буду очень признателен.

sucseus.html

    {% extends "base.html" %}

{% block content %}
<h1>success</h1>
<h2>{{ post.message }}</h2>
{% endblock %}

views.py

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


class Form(generic.CreateView):
    model = Post
    template_name = 'forums_simple/form.html'
    fields = ['message']
    success_url = reverse_lazy('forums:sucsseus')

class Sucsessus_view(generic.TemplateView):
    template_name = 'forums_simple/sucseus.html'
    model = Post

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)

Вам нужно передать его как контекст. Лучший способ сделать это - через DetailView.

class Sucsessus_view(generic.DetailView):
    template_name = 'forums_simple/sucseus.html'
    model = Post

Урлы:

urlpatterns = [
    ...
    path('post/<int:pk>/', Sucsessus_view.as_view(), name='sucsseus'),
    ...
]

вот мои URL

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

app_name = 'forums'

urlpatterns = [
    path('sucseuss/<int:pk>/', views.Sucsessus_view.as_view(), name='working'),
    path('forum/', views.Form.as_view(), name='form')
]
Вернуться на верх