[英]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.