计算django中匿名用户的视图

时间:2017-10-03 07:15:16

标签: django

我正在创建一个专门用于练习的博客,我最近添加了视图计数器功能问题是当匿名用户打开帖子时django引发错误,因为在post_detail视图中我请求用户名这是视图:

p.json {
  white-space: pre;
}

UserSeenPosts模型:

def post_detail(request, post_id):
    post = Post.objects.get(id=post_id)
    if UserSeenPosts.objects.filter(post=post, user=request.user).exists():
        print "all ready"
    else:
        post.views += 1
        post.save()
        UserSeenPosts.objects.create(user=request.user, post=post)
    return render(request, 'blog/detail.html', {'Post': Post.objects.get(id=post_id)})

所以django可以给guest_ad / guest2这样的匿名用户名,这应该被序列化以避免重复名称

1 个答案:

答案 0 :(得分:1)

您必须检查用户是否已通过身份验证。

if request.user.is_authenticated():
    UserSeenPosts.objects.create(user=request.user, post=post)