Добавление функции Like к изображению
Новичок в Django, любая помощь будет оценена по достоинству. Спасибо. Я пытаюсь добавить функцию лайков к моему приложению для фотографий, как Instagram, и даже показать количество лайков, но в данный момент я получаю ошибку "Страница не найдена". Я уверен, что моя логика тоже не работает
models.py Фотомодель
class Photo(models.Model):
img = models.ImageField(upload_to='images')
caption = models.CharField(max_length=250, default='Caption here')
date_posted = models.DateTimeField(default=timezone.now)
owner = models.ForeignKey(User, on_delete=models.CASCADE)
Любит модель
class Like(models.Model):
like = models.IntegerField()
image = models.ForeignKey(Photo, on_delete=models.CASCADE)
user = models.ForeignKey(User, on_delete=models.CASCADE, default=20)
Кнопка в форме PS. Я использовал представление, основанное на классах, поэтому я использовал 'object'
<form action="{ url 'like-photo' object.id }" method="POST">
{% csrf_token %}
<button class="btn btn-primary" type="submit" name="img_id" value="{{ object.id }}">Like</button>
</form>
views.py Я хочу, чтобы меня перенаправляли на просмотр деталей фотографии
def LikeView(request, pk):
photo = get_object_or_404(Photo, id=request.POST.get('img_id'))
photo.like.add(request.user)
return HttpResponseRedirect(reverse('photo-detail', args=[str(pk)]))
urls.py
urlpatterns = [
...
path('like/<int:pk>/', LikeView, name='like-photo'),
]