Я создал раздел комментариев в своем проекте 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 поста