Member 14068174 Ответов: 0

Мои комментарии отображаются на каждом посту, а не на том конкретном посте, в котором это было опубликовано?


Эй ,ребята, я пытаюсь сделать форму комментария в django, но проблема, с которой я сталкиваюсь, заключается в том, что при публикации этого комментария он публикуется на каждом другом посте .. Я хочу, чтобы он отображался специфично для сообщения, где пользователь будет комментировать, как работает обычная форма комментария.

Вот это самое views.py
def BlogDetail(request,pk):

    post = get_object_or_404(Post,pk = pk) 
    comment_view = Comment.objects.all()
    comment = CommentForm()


    if request.method  == 'POST':
        subscribe = Subscribe(request.POST)	
        form = CommentForm(request.POST)

        if form.is_valid():
            form = form.save(commit = False)
            form.save()
            return redirect('blog',pk = post.pk)

        elif subscribe.is_valid():
	    subscribe = subscribe.save(commit = True)

    else:
        form = CommentForm()

    return render(request,'app/blog.html',{'blog_object':post,'comment':comment,
                                         'comment_view':comment_view})
Вот вам и html-код
{% for i in comment_view %}
                {{i.name}}
                {{i.body}}
                {% endfor %}
Вот это самое models.py
class Post(models.Model):
    image = models.ImageField()
    title = models.CharField(max_length = 100)
    body = RichTextField(blank = True)
    published_date = models.DateTimeField(auto_now_add = True)
    categories = models.ManyToManyField(Category)
    featured = models.BooleanField(default = False)

    def __str__(self):
        return self.hastags

    def __str__(self):
        return self.title


class Comment(models.Model):
    name = models.CharField(max_length = 200)
    body = models.TextField()

    def __str__(self):
       return self.name


Что я уже пробовал:

Я stackoverflowed, но никто не дал летного ответа, а также я попробовал какой-то ответ с youtube, но никто не работал.

Richard Deeming

Я не знаю Джанго, но ... Comment.objects.all() предполагается, что вы извлекаете все комментарии, а не только комментарии для текущего сообщения. Я бы посоветовал посмотреть на документация[^] чтобы увидеть, как отфильтровать этот список, или использовать связь, если она есть.

0 Ответов