【发布时间】:2021-06-26 21:57:44
【问题描述】:
这是我希望用户能够喜欢他们的帖子的用户帐户视图,要解决这个问题确实是一个挑战。将不胜感激。
def account_view(request, *args, **kwargs):
"""
- Logic here is kind of tricky
is_self
is_friend
-1: NO_REQUEST_SENT
0: THEM_SENT_TO_YOU
1: YOU_SENT_TO_THEM
"""
context = {}
user_id = kwargs.get("user_id")
try:
account = User.objects.get(pk=user_id)
except:
return HttpResponse("Something went wrong.")
if account:
context['id'] = account.id
context['username'] = account.username
context['bio'] = account.bio
context['get_full_name'] = account.get_full_name
context['email'] = account.email
context['profile_pic'] = account.profile_pic.url
context['cover_image'] = account.cover_image.url
context['city'] = account.city
context['country'] = account.country
context['gender'] = account.gender
context['hide_email'] = account.hide_email
post_id = request.GET.get("likeId", "")
try:
post_id = Post.objects.get(pk=post_id)
except Post.DoesNotExist:
liked= False
like = Like.objects.filter(user=user, post=post)
try:
post_list = Post.objects.filter(user_name=account)
except Post.DoesNotExist:
post_list = Post(user_name=account)
save.post_list()
posts = post_list.all()
context['posts'] = posts
这是我的点赞视图,我怎样才能让用户和朋友能够从他们自己的个人资料或时间线点赞他们的帖子?
def like(request):
post_id = request.GET.get("likeId", "")
user = request.user
post = Post.objects.get(pk=post_id)
liked= False
like = Like.objects.filter(user=user, post=post)
if like:
like.delete()
else:
liked = True
Like.objects.create(user=user, post=post)
resp = {
'liked':liked
}
response = json.dumps(resp)
return HttpResponse(response, content_type = "application/json")
【问题讨论】:
标签: django django-models django-rest-framework django-views