Я делал блог и хотел, чтобы confirm delete comment
был на следующем URL-маршруте post/<int:id>/comment/<int:pk>/
, но когда я делаю это, браузер показывает следующую ошибку
Обратное для «комментария» с аргументами (38,) «не найдено. 1 шаблон (ы)
попробовал: ['post / (? P [0-9] +) / comment / (? P [0-9] +) / $']
код к программе приведен ниже. причина, по которой я хочу это сделать, заключается в том, чтобы иметь возможность перенаправить в представление post-detail
после удаления
views.py
class CommentDeleteView(LoginRequiredMixin, UserPassesTestMixin, DeleteView):
model = comment
success_url = '/'
def test_func(self):
comment = self.get_object()
if self.request.user == comment.user:
return True
return False
models.py
class comment(models.Model):
post=models.ForeignKey(Blog, on_delete=models.CASCADE)
user=models.ForeignKey(User, on_delete=models.CASCADE)
content=models.TextField(max_length=160)
timestamp=models.DateTimeField(auto_now_add=True)
def __str__(self):
return '{}-{}'.format(self.post.title,str(self.user.username))
def get_absolute_url(self):
return reverse('post-detail', kwargs={"pk": self.pk})
urls.py
path('post/<int:id>/comment/<int:pk>/', views.comment_detail, name='comment'),
path('post/<int:id>/comment/<int:pk>/delete', views.CommentDeleteView.as_view(), name='comment-delete'),