【发布时间】:2022-01-15 13:58:08
【问题描述】:
我是 Django 新手,正在从事一个项目。我必须在 Django 中传达视图的两个功能。
views.py
@login_required
def likepost(request,id):
post = NewPost.objects.get(id = id)
is_like = False
for like in post.likepost.all():
if like == request.user and request.method == "POST":
is_like = True
break
if not is_like:
post.likepost.add(request.user)
else:
post.likepost.remove(request.user)
return JsonResponse({
"is_like" : is_like,
})
这是我想在索引函数中调用的likepage 函数。下面给出了索引函数。
def index(request):
posts = NewPost.objects.all().order_by("-timestamp")
page = Paginator(posts,3)
page_req = request.GET.get('page')
page_view = page.get_page(page_req)
num = "a" * page_view.paginator.num_pages
is_like = likepost(posts.id)
if request.user.is_authenticated:
if request.method == "POST":
post = NewPostForm(request.POST)
user = request.user
timestamp = datetime.now()
if post.is_valid:
post = post.save(commit=False)
postdata = NewPost(post=post,user=user,timestamp=timestamp)
postdata.save()
# return Response({"message" : "Post created successfully ????!"})
return render(request,"network/index.html",{
"post" : post,
# "user" : user,
# "posts" : posts,
"timestamp" : timestamp,
"page_view" : page_view,
"num" : num,
"is_like" : is_like,
})
# JsonResponse(posts, safe=False)
else:
post = NewPostForm()
return render(request,"network/index.html",{
"post" : post,
"posts" : posts,
"page_view" : page_view,
"num" : num,
"is_like" : is_like,
})
return render(request,"network/index.html",{
"posts" : posts,
"page_view" : page_view,
"num" : num,
"is_like" : is_like,
})
虽然我的模型中有id 属性,但它给出了以下错误。
我该如何解决?我想做一个赞按钮。
【问题讨论】:
标签: django-models django-views