【问题标题】:Django-How to do the visit counts?Django-如何计算访问次数?
【发布时间】:2019-04-10 01:29:19
【问题描述】:

有一个问题让我觉得很烦,我想做的是当我请求detail.html时,帖子模型的视图将作为访问数加1,怎么做?谢谢。

博客/models.py

class Post(models.Model):
   views = models.PositiveIntegerField(default=0)

blog/views.py

def detail(request):
    return render(request, 'blog/detail.html')

【问题讨论】:

  • 加载模型,增加计数并保存。
  • 如何加载?代码是什么?谢谢?
  • 同样的问题here,阅读更多答案。

标签: python django django-models django-views


【解决方案1】:

您可以通过这种方式增加观看次数:

def detail(request, post_id):
    post = Post.objects.get(id=post_id)
    post.views += 1
    post.save()
    return render(request, 'blog/detail.html', context={'post': post})

我假设因为它是一个详细视图,你会收到一个唯一的键来识别将呈现哪个帖子(可以在 urls.py 上完成)

【讨论】:

  • post.views +=1 有竞争条件问题.. 你应该使用djanfo.models.F
猜你喜欢
  • 1970-01-01
  • 2021-03-08
  • 1970-01-01
  • 2016-08-31
  • 1970-01-01
  • 1970-01-01
  • 2021-10-28
  • 2020-06-29
  • 1970-01-01
相关资源
最近更新 更多