У меня проблема с перенаправлением пользователей в django

Я новичок и создаю форум, используя html, css, bootstrap, python и django. Я создал представление для удаления сообщений:

 class DeletePost(DeleteView):
     model = Post
     success_url = '/'

    def get_queryset(self):
        queryset = super().get_queryset()
        return queryset.filter(author_post_id=self.request.user.id)

Когда пользователь нажимает кнопку "Подтвердить", когда ему нужно удалить сообщение, я хотел бы перенаправить его на ту же страницу обсуждения, на которой было сообщение, которое он удалил, но я не знаю как. Кто-нибудь может помочь? Заранее спасибо

Вы можете использовать метод 'redirect' в Django.

Сначала импортируйте его: from django.shortcuts import redirect

затем напишите эту одну строку кода : return redirect('/nameOfURL') под вашими представлениями, основанными на классах/функциях.

Обновление :

def delete_post(request, id):
if request.method == 'POST':
    pi = Post.objects.get(pk=id)
    pi.delete()
    return redirect('/view_discussion')

Вы можете отменить get_success_url с помощью:

class DeletePost(DeleteView):
     model = Post

    def get_queryset(self):
        return super().get_queryset().filter(
            author_post_id=self.request.user.id
        )

    def get_success_url(self):
        return reverse('view_discussion', kwargs={'pk': self.object.discussion_id})
Вернуться на верх