繁体   English   中英

我在我的 Django 项目中创建了一个评论部分,我想将用户重定向到他们在发布评论后刚刚评论的同一帖子

[英]I created a comment section in my Django project and i want to redirect users to that same post they just commented on after they posted the comment

现在它将它们重定向到主页。 这是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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM