Django 4.0.8 Ошибка, нет URL для перенаправления. Либо укажите URL, либо определите метод get_absolute_url для модели

Я делаю сайт-блог, но когда я нажимаю на кнопку сохранения, появляется эта ошибка

Нет URL для перенаправления. Либо укажите URL, либо определите метод get_absolute_url в модели.

enter image description here

url.py

from django.urls import path
from .views import BlogListView, BlogDetailView, BlogCreateView, BlogUpdateView, BlogDeleteView

urlpatterns = [
    path('', BlogListView.as_view(), name='home'),
    path('post/<int:pk>/', BlogDetailView.as_view(), name='post_detail'),
    path('post/new/', BlogCreateView.as_view(), name='post_new'), 
    path('post/<int:pk>/edit/', BlogUpdateView.as_view(), name='post_edit'),
    path('post/<int:pk>/delete/', BlogDeleteView.as_view(), name='post_delete'),
]

models.py

from django.db import models
from django.urls import reverse

# Create your models here.
class Post(models.Model):
    title = models.CharField(max_length=200)
    body = models.TextField()
    author = models.ForeignKey(
        "auth.User",
        on_delete=models.CASCADE,
       )   
    

    def __str__(self):
        return self.title

    def getAbsoluteUrl(self):
        return reverse("post_detail", kwargs={"pk": self.pk})

base.html

{% load static %}
<html>
  <head>
    <title>Django blog</title>
    <link href="https://fonts.googleapis.com/css?family=\
    Source+Sans+Pro:400" rel="stylesheet">
    <link href="{% static 'css/base.css' %}" rel="stylesheet">
  </head>
  <body>
    <div>
      <header>
        <div class="nav-left">
          <h1><a href="{% url 'home' %}">Django blog</a></h1>
        </div>
        <div class="nav-right">
          <a href="{% url 'post_new' %}">+ New Blog Post</a>
        </div>
      </header>
      {% block content %}
      {% endblock content %}
    </div>
  </body>
</html>

views.py

from django.shortcuts import render
from django.views.generic import ListView, DetailView
from django.views.generic.edit import CreateView, UpdateView, DeleteView
from .models import Post
from django.urls import reverse_lazy

# Create your views here.
class BlogListView(ListView):
    model = Post
    template_name = 'home.html'

class BlogDetailView(DetailView):
    model = Post
    template_name = 'postDetails.html'

class BlogCreateView(CreateView):
    model = Post
    template_name = "postNew.html"
    fields = ["title", "author", "body"]

class BlogUpdateView(UpdateView): 
    model = Post
    template_name = "postEdit.html"
    fields = ["title", "body"]

class BlogDeleteView(DeleteView): 
    model = Post
    template_name = "postDelete.html"
    success_url = reverse_lazy("home")

postNew.html

{% extends "base.html" %}

{% block content %}
<h1>New post</h1>
<form action="" method="post">{% csrf_token %}
  {{ form.as_p }}
  <input type="submit" value="Save">
</form>
{% endblock content %}

Ожидалось, что после нажатия на кнопку "сохранить", произойдет перенаправление на пост. но в результате ошибка, хотя пост сохранен!

Вернуться на верх