我正在创建一个社交媒体网站,在那里用户可以像其他人一样发布文章。我已经成功地完成了大部分工作
我允许用户喜欢和不喜欢帖子,并在我的模板中显示了喜欢帖子的用户列表
我遇到的一个问题是,根据用户是否喜欢这篇文章来更改图像
我目前的实现是不正确的,我不知道如何解决它。目前,我在Post模型上有一个变量(类似于),一个图像会根据这是否为真而改变
我的问题是,如果一个用户喜欢一个帖子,那么每个用户都会喜欢它
我想让每个人都看不到的图形显示时,一个职位是喜欢,只有当他们喜欢自己
型号.py:
class Post(models.Model):
file = models.FileField(upload_to='files/')
summary = models.TextField(max_length=600)
pub_date = models.DateTimeField(auto_now=True)
user = models.ForeignKey(User, on_delete=models.CASCADE)
likes = models.ManyToManyField(User, related_name='likes')
is_liked = models.BooleanField(default=False)
视图.py:
def likepost(request, post_id):
if request.method == 'POST':
tuser = request.user
post = get_object_or_404(Post, pk=post_id)
if post.likes.filter(id=tuser.id).exists():
post.likes.remove(tuser)
post.is_liked = False
post.save()
else:
post.likes.add(tuser)
post.is_liked = True
post.save()
return redirect('home')
home.html(模板)
{% if post.is_liked == True %}
<a href="javascript:{document.getElementById('like__post{{ post.id }}').submit()}"><div class="" style="position: absolute; bottom: 115px; left: 34px;"> <img src="{% static 'redheart.png' %}" width="22px" height="22px"> </div></a>
{% else %}
<a href="javascript:{document.getElementById('like__post{{ post.id }}').submit()}"><div class="" style="position: absolute; bottom: 115px; left: 34px;"> <img src="{% static 'heart.png' %}" width="22px" height="22px"> </div></a>
{% endif %}
目前没有回答
相关问题 更多 >
编程相关推荐