Я хочу, чтобы пользователь был перенаправлен на недавно созданный пост. Я попытался добавить
return reverse("article-detail", args=(str(self.pk)))
, но он действительно работает. в командной строке написано `
django .urls.exceptions.NoReverseMatch: Обратный вариант для 'article-detail' с аргументами '(' 4 ',' 3 ')' не найден. Пробовал 1 шаблон (ы): ['article / (? P [0-9] +) $']
`
models.py
Class Post(models.Model):
title = models.CharField(max_length=255)
header_image = models.ImageField(null=True, blank=True, upload_to='images/')
title_tag = models.CharField(max_length=255)
author = models.ForeignKey(User, on_delete=models.CASCADE)
body = RichTextField(blank=True, null=True)
# body = models.TextField()
post_date = models.DateTimeField(auto_now_add=True)
category = models.CharField(max_length=255, default='coding')
snippet = models.CharField(max_length=255)
likes = models.ManyToManyField(User, related_name='blog_post')
def total_likes(self):
return self.likes.count
def __str__(self):
return self.title + ' | ' + str(self.author)
def get_absolute_url(self):
return reverse("article-detail", args=(str(self.pk)))
# return reverse("home")
urls.py
path('add_post/', AddPostView.as_view(), name="add_post"),
path('article/<int:pk>', ArticleDetailView.as_view(), name="article-detail"),
views.py
class AddPostView(CreateView):
model = Post
form_class = PostForm
template_name = 'add_post.html'