По какой-то причине {{ 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')
]