Я создал раздел комментариев в своем проекте Django и хочу перенаправлять пользователей на тот же пост, который они только что прокомментировали, после того, как они оставили комментарий.

прямо сейчас он перенаправляет их на главную страницу. вот файл views.py:

class AddReviewView(CreateView):
model = Review
form_class = ReviewForm
template_name = 'blog/add_review.html'
def form_valid(self, form):
    form.instance.post_id = self.kwargs['pk']
    return super().form_valid(form)
success_url = reverse_lazy('blog-home')

и вот файл models.py:

class Post(models.Model):
title = models.CharField(max_length=100)
price = models.DecimalField(default=0, max_digits=9, decimal_places=2)
post_image = models.ImageField(null=True, blank=True, upload_to='post_images/')
content = models.TextField()
date_posted = models.DateTimeField(default=timezone.now)
author = models.ForeignKey(User, on_delete=models.CASCADE)

def __str__(self):
    return self.title

def get_absolute_url(self):
    return reverse('post-detail', kwargs={'pk': self.pk})



class Review(models.Model):
    post = models.ForeignKey(Post, related_name="reviews", on_delete=models.CASCADE)
    name = models.CharField(max_length=255)
    body = models.TextField()
    date_added = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return '%s - %s' % (self.post.title, self.name)

вот мои шаблоны url:

 urlpatterns = [

    path('', PostListView.as_view(), name='blog-home'),
    path('marketplace/', MarketplaceView.as_view(), name='blog-marketplace'),
    path('freelancers/', FreelancersView.as_view(), name='blog-freelancers'),
    path('user/<str:username>', UserPostListView.as_view(), name='user-posts'),
    path('post/<int:pk>/', PostDetailView.as_view(), name='post-detail'),
    path('post/new/', PostCreateView.as_view(), name='post-create'),
    path('post/<int:pk>/update/', PostUpdateView.as_view(), name='post-update'),
    path('post/<int:pk>/delete/', PostDeleteView.as_view(), name='post-delete'),
    path('about/', views.about, name='blog-about'),
    path('search-posts/', views.search_posts, name='search_posts'),
    path('post/<int:pk>/Review/', AddReviewView.as_view(), name='add_review'),
 ]

помогите!!! примечание: я хочу изменить success_url = reverse_lazy('blog-home') для перенаправления на страницу, которую только что прокомментировали

Не могу комментировать, поэтому отвечаю здесь

Возможно, вы захотите изменить url успеха на пост и передать ID поста

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