Я пытаюсь реализовать функцию лайков в приложении сообщений (аналогично постам в Instagram), но когда я отправляю форму для кнопки «Мне нравится», я получаю сообщение об ошибке, в котором говорится, что объект «WSGIRequest» не имеет атрибута «post» '.
Код представления выглядит следующим образом:
@login_required
def like_view(request, post_id):
if request.method == 'POST':
post = get_object_or_404(Post, id=post_id)
obj = ''
try:
obj = Like.objects.get(user=request.user, post=post)
user_like = Like()
user_like.user = request.user
user_like.post = post
post.likes += 1
user_like.save()
post.save()
context = {'post' : post, 'post_id' : post_id}
return render(request, context=context)
except Like.DoesNotExist:
user_like = Like()
user_like.user = request.user
user_like.post = post
post.likes += 1
user_like.save()
post.save()
context = {'post' : post, 'post_id' : post_id}
return render(request, context=context)
else:
post = get_object_or_404(Post, id=post_id)
context = {'post' : post, 'post_id' : post_id}
return render(request, context=context)
Вот шаблон:
Видимо, это говорит мне, что я' я не отправляю объект 'post' в запросе, поэтому я хочу знать, почему он не отправляет его в контексте, и как я могу это исправить.