跳转到主要内容

使用缓存对Django模型进行访问计数

项目描述

Django Visit Count

使用缓存对Django模型进行访问计数。

安装

  1. 设置 Django的缓存框架。

  2. 安装Python包。

    pip install django_visit_count
    

使用

使用 VisitCountMixin。它为您模型添加一个 visit_count 字段。

from django_visit_count.mixins import VisitCountMixin

class MyBlogPost(VisitCountMixin, models.Model):
    ...

创建并在您的模型上运行迁移。

$ python manage.py makemigrations my_blog_app
$ python manage.py migrate my_blog_app

在视图中像这样计数访问

def view_blog_post(request, post_id):
    post = get_object_or_404(MyBlogPost, pk=post_id)
    post.count_visit(request)
    ...

高级使用

如果您需要更多控制,您可以使用 is_new_visit 函数。

class MyBlogPost(models.Model):
    total_visits = models.PositiveIntegerField(default=0)
    ...
from django_visit_count.utils import is_new_visit

def view_blog_post(request, post_id):
    post = get_object_or_404(MyBlogPost, pk=post_id)

    if is_new_visit(request, post):
        post.total_visits = F("total_visits") + 1
        post.save(update_fields=["total_visits"])

    ...

您可以将可选关键字参数 session_duration(整数,秒数)传递给 count_visitis_new_visit

设置

默认设置

VISIT_COUNT_DEFAULT_SESSION_DURATION = 5 * 60  # seconds

开发

  • 使用 pip install -e '.[dev]' 在您的虚拟环境中安装开发依赖项。
  • 使用 pre-commit install 安装预提交钩子。

许可证

MIT

项目详情


下载文件

为您的平台下载文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

django-visit-count-1.1.1.tar.gz (4.8 kB 查看散列值)

上传时间 源代码

构建版本

django_visit_count-1.1.1-py3-none-any.whl (5.9 kB 查看散列值)

上传时间 Python 3

由以下支持