Я продолжаю получать ошибку имя '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"