Я продолжаю получать ошибку имя 'Blog_Post' не определено

Я создаю блог, и в блоге есть кнопка удаления. когда вы нажимаете на кнопку, вы, супруга, должны вернуться на главную страницу, но вы получаете эту ошибку имя 'Blog_Post' не определено. Буду признателен за любую помощь.

views.py

from django.shortcuts import render, redirect
from django.views import generic
from . import models
from django.contrib.auth import get_user_model
User = get_user_model()
from django.urls import reverse_lazy
from django.contrib.auth.mixins import LoginRequiredMixin


class create_blog_post(generic.CreateView):
    model = models.Blog_Post
    template_name = 'blog_app/creat_post.html'
    fields = ('post_title', 'blog_content')
    success_url = reverse_lazy('blog_app:all')

class view_blog_post(generic.DetailView):
    model = models.Blog_Post
    template_name = 'blog_app/view_post.html'

def delet_blog_post(request, id):
    blog_post = Blog_Post.objects.get(id=blog_post_id)
    blog_post.delete()
    return redirect("/")

class all_blog_posts(generic.ListView):
    model = models.Blog_Post
    template_name = 'blog_app/all_posts.html'
    #slug_url_kwarg = "slug"

В этой строке вы нигде не объявляете blog_post_id Blog_Post.objects.get(id=blog_post_id)

Вам нужно blog_post_id = id. Или просто id=id Где id - это то, что вы отправили в функцию delete_blog_post.

Попробуйте это:

from django.contrib.auth import get_user_model
from django.contrib.auth.mixins import LoginRequiredMixin
from django.shortcuts import render, redirect
from django.urls import reverse_lazy
from django.views import generic
from .models import Blog_Post

User = get_user_model()


class create_blog_post(generic.CreateView):
    model = Blog_Post
    template_name = 'blog_app/creat_post.html'
    fields = ('post_title', 'blog_content')
    success_url = reverse_lazy('blog_app:all')


class view_blog_post(generic.DetailView):
    model = Blog_Post
    template_name = 'blog_app/view_post.html'


def delet_blog_post(request, id):
    blog_post = Blog_Post.objects.get(id=blog_post_id)
    blog_post.delete()
    return redirect("/")


class all_blog_posts(generic.ListView):
    model = Blog_Post
    template_name = 'blog_app/all_posts.html'
    #slug_url_kwarg = "slug"
Вернуться на верх